【发布时间】:2018-02-23 21:25:52
【问题描述】:
这里是 Python 新手。
我正在尝试从Dutch Transparency Benchmark 网站上为许多不同的公司抓取公司信息,但我不知道如何让它发挥作用。我试过了
pd.read_html(https://www.transparantiebenchmark.nl/en/scores-0#/survey/4/company/793)
和
requests.get("https://www.transparantiebenchmark.nl/en/scores-0#/survey/4/company/793")
然后从那里开始工作。但是,数据似乎是动态生成/查询的,因此实际上并未包含在这些方法检索的 html 源代码中。
如果我转到浏览器的开发人员工具并复制“最终”html,如“元素”选项卡中所示,则整个信息都在其中。但是我想为几家公司重复这个过程,有没有办法自动化它?
或者,如果没有直接的方法从 html 中获取信息,则可能还有第二种可能性。该站点允许将信息下载为每个公司的 Excel 文件。是否可以以某种方式自动“单击”下载按钮并将文件保存在某处?然后我也许可以遍历所有我需要的公司。
如果这个问题措辞不好,请原谅,提前非常感谢您
图森塔克!
编辑:我也尝试过使用 BeautifulSoup,正如@pmkroeker 建议的那样。但我并不是很想如何让它工作,以便它首先运行所有的 javascript,以便站点实际包含数据。
【问题讨论】:
-
你看过BeautifulSoup吗?
-
您可以尝试使用selenium-python.readthedocs.io。该产品可以在浏览器中加载页面,然后找到按钮并按下它们。
-
非常感谢您提供的链接,@BillBell,我不了解 Selenium。似乎这比我希望的要复杂一些,但是……也许这会加快学习过程:D
-
不客气。如果您遇到困难,这里有很多人可以提供帮助。
标签: javascript python html scrape