3 回答

TA貢獻1921條經驗 獲得超9個贊
看起來javascript需要運行所以使用像selenium這樣的方法
from selenium import webdriver
url = 'https://www.google.com/flights?hl=it#flt=/m/07_pf./m/05qtj.2019-04-27;c:EUR;e:1;sd:1;t:f;tt:o'
driver = webdriver.Chrome()
driver.get(url)
print(driver.find_element_by_css_selector('.gws-flights-results__cheapest-price').text)
driver.quit()

TA貢獻1853條經驗 獲得超18個贊
您正在學習網絡抓取真是太好了!您之所以獲得 NoneType 結果是因為您正在抓取的網站動態加載內容。當請求庫獲取 url 時,它只包含 javascript。帶有此類“gws-flights-results__itinerary-price”的 div 尚未呈現!因此,您用來抓取該網站的抓取方法是不可能的。
但是,您可以使用其他方法,例如使用 selenium 或 splash 等工具獲取頁面來呈現 javascript,然后解析內容。

TA貢獻1982條經驗 獲得超2個贊
BeautifulSoup 是提取部分 HTML 或 XML 的絕佳工具,但在這里看起來您只需要獲取另一個 JSON 對象的 GET 請求的 url。
(我現在不在電腦旁,明天可以更新一個例子。)
添加回答
舉報