7

Webサイトに保存されているいくつかの値を表示する必要があります。そのため、Webサイトをスクレイプして、テーブルからコンテンツを取得する必要があります。何か案は?

4

10 に答える 10

6

jQueryに精通している場合は、 pQueryを確認することをお勧めします。これにより、これが非常に簡単になります。

## print every <h2> tag in page
use pQuery;

pQuery("http://google.com/search?q=pquery")
    ->find("h2")
    ->each(sub {
        my $i = shift;
        print $i + 1, ") ", pQuery($_)->text, "\n";
    });

HTML::DOMもあります。

ただし、何をするにしても、これには正規表現を使用しないでください。

于 2009-04-03T13:13:06.143 に答える
4

過去にHTML Table Extractを使用したことがあります。個人的にはちょっと使いにくかったのですが、オブジェクトモデルがよくわからなかったのかもしれません。私は通常、マニュアルのこの部分を使用してデータを調べます。

 use HTML::TableExtract;
 $te = HTML::TableExtract->new();
 $te->parse($html_string);

     # Examine all matching tables
     foreach $ts ($te->tables) {
       print "Table (", join(',', $ts->coords), "):\n";
       foreach $row ($ts->rows) {
          print join(',', @$row), "\n";
       }
     }`
于 2009-04-03T13:21:11.133 に答える
3

私は一般的にLWP / LWP :: Simpleでこれを行ってきましたが、Perlでのあらゆる種類のWebページスクレイピングに現在使用されている「推奨」モジュールはWWW::Mechanizeです。

于 2009-04-03T15:11:48.903 に答える
2

この単純な perl モジュール WEB::Scraper を使用することもできます。これは理解しやすく、私の生活を楽にしてくれます。詳細については、この例に従ってください。

http://teusje.wordpress.com/2010/05/02/web-scraping-with-perl/

于 2011-04-05T09:22:12.030 に答える
1

デッド スレッドをドラッグするつもりはありませんが、このスレッドをグーグルで調べている人は、WWW::Scripter - 'For scripting web sites that have scripts'もチェックしてください。

幸せなリモートデータの集約;)

于 2009-12-10T14:34:15.063 に答える
1

魔法のWeb::Scraperを見てみましょう。これは Webスクレイピングのためのツールです。

于 2009-12-10T14:54:24.820 に答える
0

perl を使用した Web スクレイピングのこの小さな例を確認してください: リンク テキスト

于 2010-05-10T13:18:54.270 に答える