1

私は現在、ウェブサイトから特定の情報を取得するためのスクレーパーを作成しています。

たとえば、レストランの名前、住所、営業時間、電話番号をWebサイトから取得したいと思います。

curlを使用することで、Webサイトからデータを取得することができました。

    $url = "http://localhost/test.html";
    $ch = curl_init(); 
    curl_setopt($ch, CURLOPT_URL, $url); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
    $data = curl_exec($ch); 
    curl_close($ch);

ただし、これらの情報をスクレイプするために、スクレーパーを正確な場所に正確にポイントする方法について、いくつかのアイデアが必要です。

正規表現を試しましたが、機能しませんでした。

4

2 に答える 2

3

PHP用のSimpleHTMLDomパーサーを使用します:
http ://simplehtmldom.sourceforge.net/

ここからダウンロード:
http ://sourceforge.net/projects/simplehtmldom/files/

ここのドキュメント:
http ://simplehtmldom.sourceforge.net/manual.htm

これは、PHPを使用してHTMLを解析するための最良のツールを解析した経験があるためです...

また、必要がない場合は、コンテンツを取得するためにcurlを使用する必要はありません。simpleHTMLDomパーサーの場合は、次を使用するだけです。

$remote_html = file_get_html("http://www.somesite.com/");
于 2012-10-05T12:48:30.080 に答える
1

XPathクエリを見てください。 http://php.net/manual/en/domxpath.query.php

私はC#でのWebサイトスクレイピングに同等の方法を使用しています。ここで採用されているのと同じ規格。最も優れています。

于 2012-10-05T12:49:22.547 に答える