0

该网站http://a810-bisweb.nyc.gov/bisweb/bispi00.jsp用于搜索 nyc 建筑应用信息。在“Application Searches”部分下,有“BIS Job Number:”,所以我要提取的信息是在我输入一个job number 之后的新页面然后点击“go”。

例如,从数据集 https://data.cityofnewyork.us/Housing-Development/DOB-Job-Application-Filings/ic3t-wcy2中​​,我选择工作编号 220286232,然后转到第一个网站,将编号输入“BIS 作业编号:”并单击执行。现在我得到一个新页面。我想要的信息是“记录申请人信息”(包括申请人联系信息)。

我被困在这里。如何提取每个职位编号下的这些申请人信息?

我对网络抓取非常陌生。我学习了如何使用 rvest 从整个页面中提取信息,但我不熟悉跨不同网站的网络抓取。

谢谢你。

更新:我尝试使用Socrata API,但我发现申请者联系信息没有自己的API字段。如果信息没有API字段(但该页面上的其他信息有字段),是否意味着我可以'不使用 API 来解决这个问题?

谢谢!

4

1 回答 1

0

在该页面的右上角,单击“API”选项卡。将弹出一个新的模式对话框“通过 SODA API 访问此数据集”,复制链接,在本例中为 https://data.cityofnewyork.us/resource/rvhx-8trz.json。这是一个直接以机器可读 JSON 格式提供数据的 URL。但一次只能获取 1000 条记录。

所以也许添加适当$offset的参数。请参阅Socrata 文档。纽约市似乎将这个软件用于他们的开放数据平台。

也许在你的 R 脚本中这样称呼它们:

https://data.cityofnewyork.us/resource/rvhx-8trz.json?$offset=0
https://data.cityofnewyork.us/resource/rvhx-8trz.json?$offset=500
https://data.cityofnewyork.us/resource/rvhx-8trz.json?$offset=1000
https://data.cityofnewyork.us/resource/rvhx-8trz.json?$offset=...

(未经测试更高的偏移量)

使用 jsonlite 将 JSON 转换为 R 数据帧。

于 2017-09-03T08:23:16.383 回答