首頁 >php教程 >php手册 >网页抓取:PHP实现网页爬虫方式小结,抓取爬虫

网页抓取:PHP实现网页爬虫方式小结,抓取爬虫

WBOY
WBOY原創
2016-06-13 09:21:531980瀏覽

网页抓取:PHP实现网页爬虫方式小结,抓取爬虫

来源:http://www.ido321.com/1158.html

 

抓取某一个网页中的内容,需要对DOM树进行解析,找到指定节点后,再抓取我们需要的内容,过程有点繁琐。LZ总结了几种常用的、易于实现的网页抓取方式,如果熟悉JQuery选择器,这几种框架会相当简单。

一、Ganon

项目地址: http://code.google.com/p/ganon/

文档: http://code.google.com/p/ganon/w/list

测试:抓取我的网站首页所有class属性值是focus的div元素,并且输出class值

<span><?php
 <span>include</span> <span>'ganon.php'</span>;
 $html = file_get_dom(<span>'http://www.ido321.com/'</span>);
 <span>foreach</span>($html(<span>'div[class="focus"]'</span>) <span>as</span> $element) {
   <span>echo</span> $element-><span>class</span>, <span>"<br>\n"</span>; 
 }
?></span>

 

结果:

二、phpQuery

项目地址:http://code.google.com/p/phpquery/

文档:https://code.google.com/p/phpquery/wiki/Manual

测试:抓取我网站首页的article标签元素,然后出书其下h2标签的html值

<span><?php
<span>include</span> <span>'phpQuery/phpQuery.php'</span>; 
phpQuery::newDocumentFile(<span>'http://www.ido321.com/'</span>); 
$artlist = pq(<span>"article"</span>); 
<span>foreach</span>($artlist <span>as</span> $title){ 
   <span>echo</span> pq($title)->find(<span>'h2'</span>)->html().<span>"<br/>"</span>; 
} 
?></span>

 

结果:

  三、Simple-Html-Dom

项目地址: http://simplehtmldom.sourceforge.net/
文档: http://simplehtmldom.sourceforge.net/manual.htm

测试:抓取我网站首页的所有链接

<span><?php
<span>include</span> <span>'simple_html_dom.php'</span>;
<span>//使用url和file都可以创建DOM</span>
$html = file_get_html(<span>'http://www.ido321.com/'</span>);

<span>//找到所有图片</span>
<span>// foreach($html->find('img') as $element)</span>
<span>//        echo $element->src . '<br>';</span>

<span>//找到所有链接</span>
<span>foreach</span>($html->find(<span>'a'</span>) <span>as</span> $element)
       <span>echo</span> $element->href . <span>'<br>'</span>; 
?></span>

 

结果:(截图是一部分)

四、Snoopy

项目地址:http://code.google.com/p/phpquery/

文档:http://code.google.com/p/phpquery/wiki/Manual

测试:抓取我的网站首页

<span><?php
<span>include</span>(<span>"Snoopy.class.php"</span>);
$url = <span>"http://www.ido321.com"</span>;
$snoopy = <span>new</span> Snoopy;
$snoopy->fetch($url); <span>//获取所有内容</span>
 <span>echo</span> $snoopy->results; <span>//显示结果</span>
<span>// echo $snoopy->fetchtext ;//获取文本内容(去掉html代码)</span>
<span>// echo $snoopy->fetchlinks($url) ;//获取链接</span>
<span>// $snoopy->fetchform ;//获取表单 </span>
?></span>

 

结果:

五、手动编写爬虫

如果编写能力ok,可以手写一个网页爬虫,实现网页抓取。网上有千篇一律的介绍此方法的文章,LZ就不赘述了。有兴趣了解的,可以百度  php 网页抓取。

ps:资源分享

常见的开源爬虫项目请戳:http://blog.chinaunix.net/uid-22414998-id-3774291.html

 

下一篇:国民岳父的“屁民理论”



 

php网络爬虫实现采集某个网站的部分内容

楼主,你可以使用simpl_html_dom 这个类来采集,具体怎么使用,如果你会jquery的话,相信你看一下就懂了。祝你好运。
 

爬虫抓取网页关键字、摘要以供搜索

strip_tags($string)
 

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn