2

我想webscrape Airbnb,我有工作代码,但它似乎已经更新了页面上的所有内容。它间歇地返回正确的输出,然后有时会失败?它会随机返回第3页和第17页之间的NoneType错误。有没有办法让它继续尝试或是我的代码不正确?Python请求/硒与BeautifulSoup每次都不返回find_all

for page in range(1,pages + 1): 
     #get page urls 
     page_url= url + '&page={0}'.format(page) 
     print(page_url) 


     #get page 
     # browser.get(page_url) 
     source = requests.get(page_url) 
     soup = BeautifulSoup(source.text,'html.parser') 

     #get all listings on page 
     div = soup.find('div',{'class':'row listing-cards-row'}) 



     #loop through to get all info needed from cards 
     for pic in div.find_all('div',{'class':'listing-card-wrapper'}): 
        print(...) 

最后一个for循环是我的错误开始发生的地方。有时在我的其他功能中也会发生这种情况,有时它有时不起作用。我已经给了lxml解析器一个尝试。

+0

我想找到一个解决方案,因为请求要快得多,但我使用硒,现在一切似乎都正常运行。慢慢......但是正确。 – Tyshawn

+0

有一件事我注意到,即使使用硒,也是很奇怪的是,每次我更改代码时,它都会失败,第一次请求模块出现相同的错误,但在此之后它完美地工作。 – Tyshawn

+0

您收到的错误是什么?你应该检查page_url是否被正确接收,例如:'source.raise_for_status()',然后继续喝汤。 –

回答

0

在回顾了几次汤之后,我注意到每隔几次程序运行源代码标签都会改变。我抛出了一些例外,它似乎已经解决了我的“无”问题。