我正在尝试获取Airbnb中显示的列表的经度和纬度,我认为这些信息是嵌入在google地图中的。当我试图通过使用lxml库或漂亮的Soup复制完整的Xpath来获取该对象时,我无法获得它。例如,清单https://www.airbnb.co.uk/rooms/15307317,在一个带有标记div img with attribute data veloute=“map/GoogleMapStatic”的对象中,地图中心有经度和纬度的信息,我试图使用以https://maps.googleapis.com/maps/api/staticmap?center=开头的链接,但我无法用代码识别正确的对象。在
url = 'https://www.airbnb.co.uk/rooms/15307317'
response = http.request('GET', url)
soup = BeautifulSoup(response.data, 'lxml')
soup.find("div", {"data-veloute":"map/GoogleMapStatic"})
soup.find("img", {"data-veloute":"map/GoogleMapStatic"})
或者下一个代码:
^{pr2}$有没有可能得到这些信息?在
将
response
保存到一个文件中,然后查看页面的真实外观。大多数内容是动态加载的。您需要一个浏览器来处理javascript动态内容加载。在selenium或pyppeteer是最流行的浏览器脚本库。在
正如RafalS建议的那样,您应该使用selenium或其他浏览器脚本库。在
这是我想到的。在
输出:
^{pr2}$它们出现在脚本标记中。您可以从响应文本进行regex,而无需借助浏览器的开销。在
相关问题 更多 >
编程相关推荐