0

さまざまな地方自治体のウェブサイトから公開データを取得したいと考えています。このデータは標準形式(XML、RSSなど)で提供されていないため、HTMLから取得する必要があります。このデータをスクレイプして、後で参照できるようにデータベースに保存する必要があります。理想的には、スクレイピングルーチンは定期的に実行され、新しいレコードのみがデータベースに保存されます。これらの各Webサイトで、古いレコードから新しいレコードを簡単に検出する方法があるはずです。

私の大きな質問は、これを達成するための最良の方法は何ですか?YQLを使う人もいると聞きました。また、プログラミング言語によっては、HTMLデータの解析も簡単になることも知っています。私はいくつかの異なる言語の知識を持つ開発者であり、これを開発するための適切な言語と方法を選択して、保守が容易になるようにしたいと考えています。Webサイトが将来変更されると、スクレイピングルーチン/コード/ロジックを更新する必要があるため、これがかなり簡単であることが重要です。

助言がありますか?

4

3 に答える 3

0

さて、私は自分のスクレイピングライブラリまたは対応するコマンドラインツールを使用します。

実際のプログラミングなしでほとんどのWebページをスクレイプできるテンプレートを使用し、さまざまなサイトからの同様のデータを標準形式に正規化し、どのページもレイアウトを変更していないことを検証できます...

コマンドラインツールはデータベースをサポートしていません。そこで何かをプログラムする必要があります...

(一方、Webharvestはデータベースをサポートしていると言っていますが、テンプレートはありません)

于 2012-09-07T10:09:42.263 に答える
0

WWW::Mechanizeモジュール(Web 自動化) およびHTML::TokeParser(HTML 解析) でPerl を使用します。

それ以外の場合は、Python を Mechanize モジュール (Web 自動化) と BeautifulSoup モジュール (HTML 解析) と共に使用します。

于 2012-09-04T16:53:29.607 に答える
0

perl と python については David に同意します。ルビーも機械化しており、スクレイピングに優れています。スクレイピング ライブラリとぎこちない正規表現関数が不足しているため、私が避けたいのは php だけです。YQLに関する限り、いくつかのことには適していますが、スクレイピングにとっては、うまくいかない可能性のあるレイヤーが追加されるだけです(私の意見では)。

于 2012-09-05T02:48:16.437 に答える