nic*_*ckm 5 html javascript python selenium web-scraping
我一直在使用 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/