我正在尝试抓取网站 https://www.realtor.com/realestateandhomes-search/28083
这是我到目前为止编写的代码
class Client(QWebPage):
def __init__(self, url):
self.app = QApplication(sys.argv)
QWebPage.__init__(self)
self.loadFinished.connect(self.on_page_load)
self.mainFrame().load(QUrl(url))
self.app.exec_()
def on_page_load(self):
self.app.quit()
Price = []
url = 'https://www.realtor.com/realestateandhomes-search/28083'
client_response = Client(url)
source = client_response.mainFrame().toHtml()
soup = bs.BeautifulSoup(source, 'lxml')
for link in soup.findAll('span', class_='data-price-display'):
Price.append(link.text)
运行它,第一次一切正常。 第一次正确运行后。我再次运行它,不刮任何数据,只返回价格的[[]]
成功运行它之后,我将以前可以使用的确切代码复制并粘贴到一个空白文档中,然后再次运行。它什么也没返回。
为什么会这样?
答案 0 :(得分:0)
Price.append(link.text)
需要缩进,因为它处于for循环下,但看起来却不是这样,至少在SO上是如此。您的代码是否相同?这也是您的整个代码吗?我看不到Client类的实例化位置-