同一页面不能刮两次

问题描述 投票:0回答:1

我正在尝试抓取该网站 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) 

运行它,第一次就一切正常。 第一次运行正确后。我再次运行它,没有抓取任何数据,只是返回“[]”作为价格值

成功运行后,我将之前有效的代码复制并粘贴到空白文档中,然后再次运行。它什么也没返回。

为什么会出现这种情况?

python web-scraping beautifulsoup pyqt
1个回答
0
投票
 Price.append(link.text)

需要缩进,因为它在 for 循环下,但看起来不是这样,至少在这里是这样。你的代码中是一样的吗?这也是你的全部代码吗?我没有看到 Client 类在哪里实例化 --

© www.soinside.com 2019 - 2024. All rights reserved.