这些在HTML源代码中不输出数据的网站是否可以提取数据?

Is it possible to extract data from these websites that don't output data in the HTML source code?

很多年前,我曾经使用 Perl 和 Python 通过查看 HTML 源代码中的数据来爬取一些网站。

现在我想做另一个个人项目,涉及从以下位置提取数值数据:

  1. Table elements on this PredictIt Website

  2. Individual graph elements (x and y for each) on this PredictWise Website

  3. Individual graph elements (x and y for each) on this Five Thirty Eight Website

None 这些网页的 HTML 源代码包含数值数据。有没有办法提取这些数据?如果有,在哪里?

感觉一定有办法,因为这些都是浏览器渲染图表需要的前端信息

(我在这些网页上找不到提供给开发人员的原始数据。所以我想我必须自己提取数据。)

第一个 link 上的 table 元素确实可以从呈现的 HTML 中读取。如果使用 Chrome,右键单击文本并选择 "Inspect." Chrome 调试器将向您显示包含数据的确切 HTML 元素。

其他 link 更难。我没有看到查看原始 HTML 数据的方法,但在第二个 link 中,我能够看到 JSON 数据为图表提供来自服务器的数据。您也许可以为您的项目解析它。 数据如下所示:

{"id":"1687","name":"Hawaii Caucus - DEM","notes":"","suppress_timestamp":"0","header":["Outcome","PredictWise","Derived Betfair Price","Betfair Back","Betfair Lay","Pollster","Derived PredictIt"],"default_sort":"2","default_sort_dir":"desc","shade_cols":["1"],"history":[{"timestamp":"03-17-2016 1:03PM","table":[["Hillary Clinton","43 %",null,null,null,null,"$ 0.425"],["Bernie Sanders","57 %",null,null,null,null,"$ 0.570"]]},...

打开该网站上的 Chrome 调试器并转到“网络”选项卡。从那里,寻找 "table_xxxx.json" 的请求。可以看到请求数据的URL,以及服务器返回的原始数据

希望对您有所帮助!