0

我整天都在尝试不同的 PHP HTML 解析器来进行网络抓取。他们都很好地处理了 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

Symfony 2 框架有一个非常棒的解析器

查看DomCrawlerGoutte

您也可以使用composer安装单个组件。

于 2013-03-08T05:08:45.393 回答