我在我的代码中尝试了以下无限循环,但它似乎无效,请帮忙,谢谢!
代码:
import time
import sys
from qt4 import QtWebKit
from qt4 import QtCore
from qt4 import QtGui
from bs4 import BeautifulSoup
while True:
header = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.3; WOW64; rv:31.0) Gecko/20100101 Firefox/31.0'} #Needed to prevent 403 error on Wikipedia
class Render(QtWebKit.QWebPage):
def __init__(self, url):
self.app = QtGui.QApplication(sys.argv)
QtWebKit.QWebPage.__init__(self)
self.loadFinished.connect(self._loadFinished)
self.mainFrame().load(QtCore.QUrl(url))
self.app.exec_()
def _loadFinished(self, result):
self.frame = self.mainFrame()
self.app.quit()
url = 'http://youneednothing.com/'
r = Render(url)
content = unicode(r.frame.toHtml())
soup = BeautifulSoup(content)
print soup
time.sleep(10)
我已经将以下内容用于循环我的代码,但它似乎不起作用。
import time
Wihle True:
[my code]
time.sleep(10)
答案 0 :(得分:2)
试试这个,这是一个无限循环:
while True:
print soup
time.sleep(10)
在python中,您必须使用制表符或空格来定义代码块。在这种情况下,print soup
和time.sleep(10)
组成了while True:
下方的块,从而定义了需要无限循环的代码。
查看有关while
和其他控制流语句的Python教程,例如3.2 First Steps Towards Programming(第二个要点)。
答案 1 :(得分:1)
Python使用缩进来分隔不同的代码块。所以你需要在while语句之后缩进代码,就像在类定义中那样。
所以代码应如下所示:
while True:
[your code]
time.sleep(10)
答案 2 :(得分:1)
每次都不需要执行课程。
import time
import sys
from qt4 import QtWebKit
from qt4 import QtCore
from qt4 import QtGui
from bs4 import BeautifulSoup
header = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.3; WOW64; rv:31.0) Gecko/20100101 Firefox/31.0'} #Needed to prevent 403 error on Wikipedia
class Render(QtWebKit.QWebPage):
def __init__(self, url):
self.app = QtGui.QApplication(sys.argv)
QtWebKit.QWebPage.__init__(self)
self.loadFinished.connect(self._loadFinished)
self.mainFrame().load(QtCore.QUrl(url))
self.app.exec_()
def _loadFinished(self, result):
self.frame = self.mainFrame()
self.app.quit()
while True:
url = 'http://youneednothing.com/'
r = Render(url)
content = unicode(r.frame.toHtml())
soup = BeautifulSoup(content)
print soup
time.sleep(10)
答案 3 :(得分:0)
这是对您的代码的建议,因为我认为其他答案已经足够,但这可能很方便。 在您将模块导入模块的顶部,您有:
from qt4 import QtWebKit
from qt4 import QtCore
from qt4 import QtGui
这可以归结为:
from qt4 import QtWebKit, QtCore, QtGui
导入它时,在一行中导入多个内容并不“好”,除了使用from ... import ..., ..., ...
技术。
只是一个方便的提示:)