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()',然後繼續喝湯。 –