2012-01-13 13 views
2

シンプルなHTML DOMフレームワークを使用してスクレイピングを試みようとしていましたが、セキュリティ上の理由からサーバ設定でfile_get_contentsが無効になっています。file_get_contentsの代わりにCurlを使用する(PHP)Web Scraping Frameworkはありますか?

ここで、Curlを使用する同様のフレームワークを見つける必要があります。

例ドットスラッシュを実行しようとしたときに私が取得エラーメッセージは次のとおりです。

Warning: file_get_contents() [function.file-get-contents]: URL file-access is disabled in the server configuration in /var/www/vhosts/domain.com/httpdocs/crawlfeed/simple_html_dom.php on line 70

+0

[PHPでHTMLを解析して処理する方法]の複製が可能ですか?(http://stackoverflow.com/questions/3577641/how-to-parse-and-process-html-with-php) – mario

+0

ファイルをcURLし、テキスト文字列をSimpleHTMLDOMにロードしますか? – prodigitalson

+0

simplehtmlでfile_get_contentsを使用する必要はありません。あなたはカールで自分自身を取得し、結果をsimplehtmlに直接送ることができます。 –

答えて

5

だけSimpleHTMLDOMに文字列をロードし、その後、cURLのにページをプルダウン:

$ch = curl_init('http://theurl.com'); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
$htmlStr = curl_exec($ch); 
curl_close($ch); 

$html = new simple_html_dom(); 

// Load HTML from a string 
$html->load($htmlStr); 
+0

シンプルなHTML Domを使用してn00bであることを申し訳ありません。 – martincarlin87

+2

Thats no excuse .. ive私はキッド、私はキッド;-)前にそれを使用したことはありません – prodigitalson

1

cURLを使用してHTMLコードを取得し、XPATHまたは正規表現を使用してhtmlコードを解析するだけです。 XPATHの使用は、XMLや(X)HTMLを解析するための言語であり、使いたいと思うように、良いアイデアです。

良い例がここにあります:あなたはPHP 5.3を(あなたは、PHP 5.2のように、もはやサポートされていないはずです)がある場合はhttp://www.2basetechnologies.com/screen-scraping-with-xpath-in-php

4

私はば完全Goutteあなたをrecommand。

これはまったく新しいもので、プロジェクトに含めるのは単なる.pharです。 HTTP部分はHttp Zendとソケットによって処理されます。また、HTMLからの情報を抽出するのに役立つ強力なBrowserKitとDomCrawler Symfonyコンポーネントがあります(正規表現はなく、xpathはありません)。

関連する問題