PHP HTML解析器(没有好的HTML解析器)

时间:2013-03-08 04:37:47

标签: php web-scraping

我花了一整天时间尝试使用不同的PHP HTML Parsers来进行网页抓取。 他们都处理Google.com很棒,或者他们发布主页的其他类似示例。但他们都失败了“http://www.nhl.com/ice/schedulebyseason.htm”。

最初我写了一个Perl脚本来执行此操作。 Web :: Scraper on perl绝对没有问题。我在5分钟前回去了,它完美地完成了这项工作。但我的共享主机并不真正支持Perl。即使对于PHP,我仍然坚持使用5.3.13。

如果您尝试使用:

  1. PHP Simple HTML DOM Parser
  2. 加农
  3. 他们失败了。

    当我尝试使用返回的已解析文档时,PHP Simple会抛出Call to a member function find() on a non-object异常。我认为这只是它失败的方式,通过返回null或其他任何东西。

    ganon在给定URL时会永远处理。

    发生了什么事?我是PHP的完全新手。

    PHP Simple HTML DOM Parser示例:

     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');
    

1 个答案:

答案 0 :(得分:2)

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

查看DomCrawler&amp; Goutte

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