-1

オランダ政府は、ウェブサイトで助成金を公表しています。

http://www.hetlnvloket.nl/databank-eu-subsidiegegevens-2012#

ただし、Web サイトからデータを取得するのは簡単ではありません。サイトにアクセスすると、'Gemeenschappelijk Landbouw Beleid' (Common Agricultural Polici、EU の補助金スケジュール) を選択し、ページの下部にある 'zoek' (zoek は '検索' を意味します) を押すと、100 のエントリから表が表示されます。しかし、私はそれをRに入れることができません。「zoek」を押すと、JavaScriptでページが生成されるようです。

私の質問は次のとおりです。

  1. Web サイトからこれをスクレイピングするにはどうすればよいですか?

  2. 残りの 900 ページを取得するにはどうすればよいですか (合計 90K のレコードがあります)。

私は政府にこのデータを XLS で提供するように依頼しましたが、「プライバシー上の理由」で提供してくれません。しかし、この方法では誰もチェックできません。私はそれが好きではありません。;-)

4

2 に答える 2

2

URL の変更が表示されない場合、通常、リクエストは ajax を介して行われるか、同じページへのポストリクエストを介して行われます。この場合、いくつかのパラメーターを使用して特定のページへの ajax POST 要求を介して実行されます。どのページがどのパラメータでロードされているかを確認するには、開発者コンソールを開きます。これを行うには、ほとんどのブラウザーで右クリックして [要素を検査] をクリックするか、F12. ネットワークタブに移動し、検索ボタンをクリックします。ネットワーク タブのポップアップにリクエストが表示されます。このリクエストを調べます。これは へのリクエストであることがわかります/pls/feed/glb2012。リクエストパラメータもそこら中にあります。

これを「どのように」こするかという質問については。プログラミング言語とお気に入りのスクレイピング ライブラリを使用します。ライブラリが StackOverflow の範囲外であることを示唆する。

于 2013-11-01T12:34:32.060 に答える
0

R よりもスクレイピングに適したツールを使用してください。たとえば、python では Scrapy や BeautifulSoup、perl では Mojolicious や Web::Scraper など、... 、そしてそれをRに入れます。

ブラウザとサーバーの通信が正確に何であるかを理解する必要があります。データは、そのページに移動したときに表示される URL にない可能性があります。Wireshark で簡単にキャプチャし、HTTP 要求を確認すると、そのことがわかります。

あなたの経験のレベルに基づいて (そしておそらく、これのためだけに新しいツールを学びたくない)、誰かにそれをやってもらいたいと思うでしょう。それを elance に投稿してください。誰かが大量のスクレイピング プロジェクトを行っていることを確認してください。最大でも数時間しかかからないはずです。

どうしてもやりたい場合は、スクレイピングのチュートリアルとクックブックの例に従ってください。

于 2013-11-01T11:02:00.947 に答える