2017-09-03 6 views
0

このウェブサイトhttp://a810-bisweb.nyc.gov/bisweb/bispi00.jspは、nyc建物のアプリケーション情報を検索するためのものです。 「アプリケーション検索」セクションには「BISジョブ番号:」があります。求職番号を入力して「実行」をクリックすると、抽出したい情報が新しいページの情報になります。どのように私はこのウェブサイトからの情報をRでスクレイプできますか?

たとえば、データセット https://data.cityofnewyork.us/Housing-Development/DOB-Job-Application-Filings/ic3t-wcy2から、私はジョブ番号220286232を選び、最初のウェブサイトに行き、番号を「BIS Job Number:」に入れてgoをクリックします。今私は新しいページ を得る。必要な情報は「記録情報の申請者」(応募者連絡先情報を含む)です。

私はここに閉じ込められています。各求人番号の下でこれらの申請者情報をどのように抽出できますか?

私はウェブスクレイピングには非常に新しいです。 rvestを使用してページ全体から情報を抽出する方法を学びましたが、私はさまざまなWebサイトでのWebのスクレイピングに慣れていません。

ありがとうございます。

更新:Socrata APIを使用しようとしましたが、申請者の連絡先情報に独自のAPIフィールドがないことがわかりました。情報のAPIフィールドがない場合(ただし、そのページの他の情報にはフィールドがあります)この問題を解決するためにAPIを使用できないということですか?

ありがとうございました!

+0

rvestには軽いフォームを扱う機能がありますが、JavaScriptを最初に実行する必要がある場合は、RSeleniumまたは[splashr](https://github.com/hrbrmstr/splashr)にエスカレートしてソースを取得する必要があります。 HTMLを手に入れたら、rvestを使って解析することができます。 – alistaire

+0

ありがとうございます。私はこれらの2つのパッケージが助けることができるかどうか見てみたいと思っています – zaodao

答えて

0

右上のpageでは、[API]タブをクリックしてください。新しいモーダルダイアログボックスが "SODA API経由でこのデータセットにアクセス"をポップアップ表示し、この場合は https://data.cityofnewyork.us/resource/rvhx-8trz.jsonのリンクをコピーします。 これは、マシンが読み取り可能なJSON形式で直接データを提供するURLです。しかし、一度に1000レコードしか取得されません。

したがって、適切な$offsetパラメータを追加してください。 Socrata documentationを参照してください。ニューヨーク市は、Open Dataプラットフォームにこのソフトウェアを使用しているようです。

たぶん、あなたの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=... 

(高いオフセットのためのテストされていない)RのデータフレームにJSONを変換するための

使用jsonlite。

+0

ありがとう、あなた。以前にAPIを使用しようとしましたが、問題はこのhttps://data.cityofnewyork.us/resource/rvhx-8trz.jsonにあり、応募者の連絡先情報(電子メールまたは電話番号)はありません。上記の例で示したように、「レコード情報の申請者」の下で抽出する必要があるのは、ライセンス番号、申請者の名前、およびプロのタイトルのみです。提案ありがとう。 – zaodao

+0

APIが異なるエンドポイントを提供しているか、連絡先情報データも取得するために別のパラメータ化を提供している可能性がありますか?私はそれを深く見ていませんでした。 – knb

+0

連絡先情報のAPIフィールドを提供していません。彼らがこのデータセットhttps://data.cityofnewyork.us/Housing-Development/DOB-Job-Application-Filings/ic3t-wcy2で提供しなかった場合、私が見つけることができる関連APIフィールドがないことを意味するのでしょうか? – zaodao

関連する問題