我一直在使用 requests 和 BeautifulSoup for python 从基本网站中抓取 html,但大多数现代网站不仅仅提供 html 结果。我相信他们运行 javascript 或其他东西(我不是很熟悉,这里有点菜鸟)。我想知道是否有人知道如何在谷歌航班上搜索航班并抓取最高结果(即最便宜的价格)?
如果这是简单的 html,我可以解析 html 树并找到文本结果,但是当您查看“页面源代码”时,这不会出现。如果您在浏览器中检查该元素,您可以看到 hmtl 标签内的价格,就像您正在查看基本网站的常规页面源一样。
检查元素有 html 但页面源没有,这是怎么回事?有谁知道如何抓取此类数据?
非常感谢!
你说得对——在初始服务器响应之后,页面标记被添加了 JavaScript。我没有使用过 BeautifulSoup,但从它的文档来看,它看起来好像不执行 javascript,所以你在这方面运气不好。
你可以尝试Selenium,它基本上是一个虚拟浏览器——人们用它进行前端测试。它执行 javascript,所以它也许能够给你你想要的东西。
但如果您专门寻找 Google Flights 信息,可以使用 API 来实现这一点:)https://developers.google.com/qpx-express/v1/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)