【问题标题】:Scraping Data From Interactive Map从交互式地图中抓取数据
【发布时间】:2015-08-12 13:44:03
【问题描述】:

我想抓取这张地图的选民登记数据:

http://www.bostonglobe.com/metro/2012/08/28/registration-figures-show-massachusetts-voters-continue-abandon-two-major-political-parties/p0zW7Snj9R07DK913P36kM/igraphic.html?p1=Article_Graphic

当您将鼠标悬停在每个城镇上时,下方框中的总人数和按方人数都会发生变化。我想按方记录每个城镇的名称和登记数。关于如何做到这一点的任何建议都会非常有帮助。我过去做过一些抓取,但没有进行任何像这样的交互,而且我对各种 python 包的最初几次尝试都没有奏效。

(不幸的是,底部的来源链接没有用,因为它只是链接到国务卿的主页,并且带有数据的原始报告不再可用)

【问题讨论】:

  • 嗨,我可以看看你的代码来帮助你吗
  • StackOverflow 是针对特定编程问题的,而不是“我如何学习编程?”的一般论坛。话题。对不起。
  • @Two-BitAlchemist 对不起,你有这种感觉。我觉得这个问题在精神上与这个 (stackoverflow.com/questions/25194541/…) 类似,它得到了肯定的解决方案,但由于基础页面已更改而不再有用。
  • @therealprashant 我有两行可以使用 urllib.request 来拉取静态 html,但是没有地图数据。
  • @Two-Bit Alchemist 你仍然可以给他指点一些技术来做到这一点。

标签: python svg web-scraping


【解决方案1】:

不需要构建应用来抓取这个,我只是看了页面的源代码 5 分钟,看看这个:

http://www.bostonglobe.com/r/Boston/2011-2020/WebGraphics/Metro/BostonGlobe.com/2012/08/voter/voter-regs.js

否则

您需要拥有一种具有 javascript 引擎的技术,例如 phantomjs 或 firefox/chrome 驱动程序。

如果你想坚持使用 python,Selenium webdriver 是最好的选择。

http://www.seleniumhq.org/projects/webdriver/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-04-05
    • 2014-06-08
    • 2019-08-23
    • 2019-01-01
    相关资源
    最近更新 更多