Webサイトのスクレイピング(つまり、どのように行われるかなど)に興味があります。具体的には、サイトHypeMachineのタスクを実行するためのスクリプトを作成したいと思います。私は実際にはソフトウェア工学の学部生(4年生)ですが、Webプログラミングについては実際にはカバーしていません。そのため、主に理論とクライアント側のアプリケーションに焦点を当てているため、Javascript / RESTFulAPI/すべてのWebについての理解はかなり限られています。どんな助けや指示も大歓迎です。
4 に答える
最初に探すべきことは、サイトがすでに何らかの構造化データを提供しているかどうか、またはHTMLを自分で解析する必要があるかどうかです。最新の曲のRSSフィードがあるようです。それがあなたが探しているものなら、そこから始めるのが良いでしょう。
スクリプト言語を使用して、フィードをダウンロードして解析できます。私はPythonを使用していますが、必要に応じて別のスクリプト言語を選択することもできます。PythonでURLをダウンロードし、PythonでXMLを解析する方法に関するドキュメントをいくつか紹介します。
サイトまたはRSSフィードをダウンロードするプログラムを作成するときに注意すべきもう1つのことは、スクレイピングスクリプトが実行される頻度です。新しいデータが利用可能になってすぐに取得できるように常に実行している場合は、サイトに多くの負荷がかかり、ブロックされる可能性が高くなります。必要以上にスクリプトを実行しないようにしてください。
次の本を確認することをお勧めします。
「Webbots、Spiders、およびScreen Scrapers:PHP/CURLを使用したインターネットエージェントの開発ガイド」 http://www.amazon.com/Webbots-Spiders-Screen-Scrapers-Developing/dp/1593271204
「C#ボットのHTTPプログラミングレシピ」 http://www.amazon.com/HTTP-Programming-Recipes-C-Bots/dp/0977320677
「JavaボットのHTTPプログラミングレシピ」 http://www.amazon.com/HTTP-Programming-Recipes-Java-Bots/dp/0977320669
Pythonにはfeedparser.orgにあるfeedparserモジュールがあり、実際にはさまざまなフレーバーのRSSとさまざまなフレーバーのATOMを処理します。車輪の再発明をする理由はありません。
分析しなければならない最も重要なことは、どのような情報を抽出したいかということだと思います。Google のようにウェブサイト全体を抽出したい場合は、Apache.org の nutch などのツールを分析するか、flaptor ソリューションhttp://ww.houder.orgを分析するのがおそらく最善の方法です。 docs, pdf - おそらく、特定のニーズに合わせて Nutch プラグインを拡張できます。nutch.apache.org
一方、ページの DOM を使用してルールを設定する Web サイトの特定のテキストまたはクリッピング領域を抽出する必要がある場合は、おそらく mozenda.com などのツールに関連するものを確認する必要があります。これらのツールを使用すると、Web サイト上の特定の情報をスクラップするために抽出ルールを設定できます。Web ページを変更すると、ロボットにエラーが発生することを考慮する必要があります。
最後に、情報ソースを使用して Web サイトを開発することを計画している場合、spinn3r.com などの企業から情報を購入することができます。インフラストラクチャにかかる費用を大幅に節約できます。それが役に立てば幸い!。セバスチャン。