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解析器一个尝试。
我想找到一个解决方案,因为请求要快得多,但我使用硒,现在一切似乎都正常运行。慢慢......但是正确。 – Tyshawn
有一件事我注意到,即使使用硒,也是很奇怪的是,每次我更改代码时,它都会失败,第一次请求模块出现相同的错误,但在此之后它完美地工作。 – Tyshawn
您收到的错误是什么?你应该检查page_url是否被正确接收,例如:'source.raise_for_status()',然后继续喝汤。 –