即使在页面上,BeautifulSoup也看不到element,

我正在尝试从Airbnb抓取清单。每个列表都有其自己的ID。但是,以下代码的输出是None:


import requests, bs4


response = requests.get('https://www.airbnb.pl/s/Girona--Hiszpania/homes?refinement_paths%5B%5D=%2Fhomes&query=Girona%2C%20Hiszpania&checkin=2018-07-04&checkout=2018-07-25&allow_override%5B%5D=&ne_lat=42.40450221314142&ne_lng=3.3245690859736214&sw_lat=41.97668610374056&sw_lng=1.7960961855829964&zoom=10&search_by_map=true&s_tag=nrGiXgWC')  

soup = bs4.BeautifulSoup(response.text, "html.parser")


element = soup.find(id="listing-18354577")

print(element)

即使汤已经加载到页面上,为什么汤也看不到该元素?


是在我需要以其他方式抓取的某种类型的容器中吗?


杨魅力
浏览 192回答 2
2回答

叮当猫咪

listing-18354577在初始HTML页面加载到您的浏览器后,将通过javascript创建具有id的元素。 Requests只是一个HTTP客户端,而不是成熟的浏览器引擎,因此它不执行最终获取该元素的Javascript。来自的响应Requests只是页面的初始HTML(不包括listing-18354577)。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python