Не могу почистить одну и ту же страницу дважды - PullRequest
0 голосов
/ 01 июля 2018

я пытаюсь поцарапать сайт 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) 

запусти и все отлично работает с первого раза. После того, как он работает с первого раза. Я запускаю его снова, не собираю никаких данных и просто возвращаю '[]' для значения цены

После успешного запуска я скопировал и вставил точный код, который работал ранее, в пустой документ и снова запустил его. ничего не вернулось.

Почему это происходит?

1 Ответ

0 голосов
/ 02 июля 2018
 Price.append(link.text)

Требуется отступ, поскольку он находится в цикле for, но не выглядит так, по крайней мере здесь, на SO. Это то же самое в вашем коде? И это весь ваш код? Я не вижу, где создается экземпляр класса Client -

...