海运的博客

PHP HTML解析类

发布时间:January 21, 2014 // 分类:PHP // No Comments

1.phpQuery

<?php
   require("phpQuery-onefile.php");
   phpQuery::newDocumentFile('https://www.haiyun.me/archives.html'); 

   //foreach (pq('body .main li')->find('a') as $a) {
   foreach (pq('body .main li a') as $a) {
      $hrefs[] = pq($a)->attr('href');
      $hrefs[] = pq($a)->text();
   }
   print_r($hrefs);
?>

记得释放内存:

phpQuery::$documents = array();
phpQuery::unloadDocuments();

2.基于tidy的HtmlParserModel,可解析不正规的HTML页面:

yum install php-tidy
git clone https://github.com/bupt1987/HtmlParserModel.git
<?php
   include_once "HtmlParserModel.php";
   $html = file_get_contents('http://www.amazon.com/s/node=3564986011');
   $html_dom = new HtmlParserModel($html);
   $p_array = $html_dom->find('a.title');
   foreach ($p_array as $p){
      echo $p->getPlainText();
   }
?>

标签:none

评论已关闭

分类
最新文章
最近回复
  • jiangker: good, very helpful to me
  • fengfeng: N1 armbian 能有编译下内核吗。。我要开启can 不懂怎么操作
  • 1: 方法一ngtcp2要改下:./configure PKG_CONFIG_PATH=/usr/l...
  • 海运: 关闭服务器
  • 海风: override.battery.charge.low以及override.battery.r...
  • koldjf: 不能过滤
  • 杰迪武士: 此文甚好甚强巨,依照此文在树莓派2 + Rasbian上部署成功 感谢博主美文共赏
  • 海运: ups不知有没选项可设置此参数,不过你可以在另外一台电脑上安装nut客户端自动关机。
  • kgami: 想请教一下,设置了的电脑自动关机之后,几秒后UPS怎么也跟着关机了,导致另外一台电脑没关机就断...
  • 海运: 写的很详细了啊,/etc/nut/hosts.conf用以nut-cgi连接nut服务器参数,...