以下内容转载而来,Simple-Html-Dom 这个我自己写了一个扒了不得姐上50页的文字笑话,亲测可用,其他的方法均未未测试。

网上有很多开源的框架,想研究的话可以找一下研究一下。

------------------------------------------------------

正文:

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

 

 

一、phpQuery

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

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

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

<?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/>"; 
} 
?>

 

 

 

二、Simple-Html-Dom

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

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

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

 

 

 

 

三、Snoopy

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

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

测试:抓取我的网站首页

<?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 ;//获取表单 
?>

 

 

 

四、手动编写爬虫

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

ps:资源分享

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


注:原文博客地址 http://www.ido321.com/1158.html