网页抓取:PHP实现网页爬虫方式小结
2014-11-07 21:08
435 查看
来源: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值
[/code]
结果:
二、phpQuery
项目地址:http://code.google.com/p/phpquery/
文档:https://code.google.com/p/phpquery/wiki/Manual
测试:抓取我网站首页的article标签元素,然后出书其下h2标签的html值
[/code]
结果:
三、Simple-Html-Dom
项目地址: http://simplehtmldom.sourceforge.net/
文档: http://simplehtmldom.sourceforge.net/manual.htm
测试:抓取我网站首页的所有链接
[/code]
结果:(截图是一部分)
四、Snoopy
项目地址:http://code.google.com/p/phpquery/
文档:http://code.google.com/p/phpquery/wiki/Manual
测试:抓取我的网站首页
[/code]
结果:
五、手动编写爬虫
如果编写能力ok,可以手写一个网页爬虫,实现网页抓取。网上有千篇一律的介绍此方法的文章,LZ就不赘述了。有兴趣了解的,可以百度 php 网页抓取。
ps:资源分享
常见的开源爬虫项目请戳:http://blog.chinaunix.net/uid-22414998-id-3774291.html
下一篇:国民岳父的“屁民理论”
抓取某一个网页中的内容,需要对DOM树进行解析,找到指定节点后,再抓取我们需要的内容,过程有点繁琐。LZ总结了几种常用的、易于实现的网页抓取方式,如果熟悉JQuery选择器,这几种框架会相当简单。
一、Ganon
项目地址: http://code.google.com/p/ganon/
文档: http://code.google.com/p/ganon/w/list
测试:抓取我的网站首页所有class属性值是focus的div元素,并且输出class值
[code]<?php include 'ganon.php'; $html = file_get_dom('http://www.ido321.com/'); foreach($html('div[class="focus"]') as $element) { echo $element->class, "<br>\n"; } ?>
[/code]
结果:
二、phpQuery
项目地址:http://code.google.com/p/phpquery/
文档:https://code.google.com/p/phpquery/wiki/Manual
测试:抓取我网站首页的article标签元素,然后出书其下h2标签的html值
[code]<?php include 'phpQuery/phpQuery.php'; phpQuery::newDocumentFile('http://www.ido321.com/'); $artlist = pq("article"); foreach($artlist as $title){ echo pq($title)->find('h2')->html()."<br/>"; } ?>
[/code]
结果:
三、Simple-Html-Dom
项目地址: http://simplehtmldom.sourceforge.net/
文档: http://simplehtmldom.sourceforge.net/manual.htm
测试:抓取我网站首页的所有链接
[code]<?php include 'simple_html_dom.php'; //使用url和file都可以创建DOM $html = file_get_html('http://www.ido321.com/'); //找到所有图片 // foreach($html->find('img') as $element) // echo $element->src . '<br>'; //找到所有链接 foreach($html->find('a') as $element) echo $element->href . '<br>'; ?>
[/code]
结果:(截图是一部分)
四、Snoopy
项目地址:http://code.google.com/p/phpquery/
文档:http://code.google.com/p/phpquery/wiki/Manual
测试:抓取我的网站首页
[code]<?php include("Snoopy.class.php"); $url = "http://www.ido321.com"; $snoopy = new Snoopy; $snoopy->fetch($url); //获取所有内容 echo $snoopy->results; //显示结果 // echo $snoopy->fetchtext ;//获取文本内容(去掉html代码) // echo $snoopy->fetchlinks($url) ;//获取链接 // $snoopy->fetchform ;//获取表单 ?>
[/code]
结果:
五、手动编写爬虫
如果编写能力ok,可以手写一个网页爬虫,实现网页抓取。网上有千篇一律的介绍此方法的文章,LZ就不赘述了。有兴趣了解的,可以百度 php 网页抓取。
ps:资源分享
常见的开源爬虫项目请戳:http://blog.chinaunix.net/uid-22414998-id-3774291.html
下一篇:国民岳父的“屁民理论”
相关文章推荐
- 网页抓取:PHP实现网页爬虫方式小结
- 网页抓取:PHP实现网页爬虫方式小结
- PHP实现简单爬虫-抓取网页url
- php抓取网页的若干实现方式
- PHP 抓取网页图片并且另存为的实现代码
- 用php或asp实现在线生成网页桌面快捷方式的代码
- 几种PHP实现网页抓取的程序代码
- 分享PHP源码批量抓取远程网页图片并保存到本地的实现方法
- PHP使用CURL实现多线程抓取网页
- PHP 抓取网页图片并且另存为的实现代码
- PHP使用CURL实现多线程抓取网页
- PHP实现禁止网外链接网址的方式查看网页
- c#关于网页内容抓取,简单爬虫的实现。(包括动态,静态的)
- PHP 利用 Curl Functions 实现多线程抓取网页和下载文件
- PHP爬虫抓取网页内容 (simple_html_dom.php)
- PHP实现多线程抓取网页
- 网页爬虫抓取URL简单实现
- c#关于网页内容抓取,简单爬虫的实现。(包括动态,静态的)
- 网页爬虫,HttpClient+Jericho HTML Parser 实现网页的抓取
- Python爬虫实现抓取网页图片