0

Webスクレイピングを目的として、さまざまなPHP HTMLパーサーを1日中試してきました。それらはすべて、Google.com の素晴らしい、またはホームページに投稿する他の同様の例を処理します。しかし、それらはすべて " http://www.nhl.com/ice/schedulebyseason.htm " で失敗します。

もともと、これを行うための Perl スクリプトを作成していました。Perl の Web::Scraper にはまったく問題はありませんでした。5分前に戻ったところ、完璧に機能しています。しかし、私の共有ホスティングは実際には Perl をサポートしていません。PHP でさえ、私は 5.3.13 を使用して立ち往生していると思います。

使用しようとすると:

  1. PHP シンプルな HTML DOM パーサー
  2. ガノン

彼らは失敗します。

Call to a member function find() on a non-object返された解析済みドキュメントを使用しようとすると、PHP Simple が例外をスローします。そして、これは null などを返すことによって失敗する方法だと思います。

URLが与えられると、ganonは永久に処理されます。

何が起こっている?私はPHPの完全な初心者です。

PHP シンプルな HTML DOM パーサーの例:

 include_once('simple_html_dom.php');

 $doc = file_get_html('http://www.nhl.com/ice/schedulebyseason.htm');

 foreach($doc->find('img') as $img){
  echo $img->id . '<br>';
 }

ガノン:

include_once('ganon.php');

$doc = file_get_dom('http://www.nhl.com/ice/schedulebyseason.htm');
4

1 に答える 1

2

Symfony2フレームワークにはかなり素晴らしいパーサーがあります

DomCrawlerGoutteをチェックしてください

Composerを使用して個々のコンポーネントをインストールすることもできます。

于 2013-03-08T05:08:45.393 に答える