0

いくつかの Web サイトのデータ (コンテンツ) を取得する必要がある それらの Web サイトがリストを提供している それらを取得し、コンテンツに応じてそれらをフィルタリングする必要がある

どんなソフトウェアでもそれを行うことができますか? phpスクリプト?そうでない場合、どこからこの機能のプログラミングを開始できますか?

4

3 に答える 3

1

ファイル全体を文字列で返す file_get_contents() を使用してから、文字列を解析してコンテンツを抽出します。

他のオプションは、ファイル全体を取得し、AWK、SED、PERL などで処理する cURL または wget です。

ターゲットページをスクレイピングする必要がある頻度によって異なります。場合によっては PHP を使用しますが、ブラウザーからトリガーする必要があり、PHP の正規表現を覚えておくと時間がかかる場合があります。

定期的にファイルをスクレイピングする場合は、cURL/wget + sed および awk を使用した BASH スクリプトを、介​​入なしでバックグラウンドで cron から実行できます。

于 2009-10-26T09:32:46.270 に答える
1

そのphpが..これがあなたを助けるかもしれないなら.. http://www.thefutureoftheweb.com/blog/web-scrape-with-php-tutorial

// get the HTML
$html = file_get_contents("http://www.thefutureoftheweb.com/blog/");


preg_match_all(
    '/<li>.*?<h1><a href="(.*?)">(.*?)<\/a><\/h1>.*?<span class="date">(.*?)<\/span>.*?<div class="section">(.*?)<\/div>.*?<\/li>/s',
    $html,
    $posts, // will contain the blog posts
    PREG_SET_ORDER // formats data into an array of posts
);

foreach ($posts as $post) {
    $link = $post[1];
    $title = $post[2];
    $date = $post[3];
    $content = $post[4];

    // do something with data
}

もちろん、要件に応じて正規表現をカスタマイズする必要があります。

他にもたくさんの例があります.. http://www.google.com/search?source=ig&hl=en&rlz=&=&q=php+web+scraper&aq=f&oq=&aqi=

于 2009-10-26T09:34:40.747 に答える
0

魔法のようなものはありません。各ページの内容が異なるためです。
皆さんが PHP について語るとき、私はこの言語についていくつかの手がかりを与えるつもりです。

curlを使用して Web ページを取得できます。コンテンツを取得したら、正規表現
を使用して解析できます。

やりたいことによっては、自分でアプリケーションを開発する必要があります。

于 2009-10-26T09:31:18.603 に答える