<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<head><meta forua="true" http-equiv="Cache-Control" content="max-age=0" /></head>
<card title="Snoopy(PHP采集类)抓取图片实例" id="card1">
<p> 游客</p><p>
标题:Snoopy(PHP采集类)抓取图片实例<br/>
正文:<br/>
用了两天php的Snoopy这个类，发现很好用。获取请求网页里面的所有链接，直接使用fetchlinks就可以，获取所有文本信息使用fetchtext（其内部还是使用正则表达式在进行处理），还有其它较多的功能，如模拟提交表单等。使用方法：先下载Snoopy类，下载地址：http://sourceforge.net/projects/snoopy/先实例化一个对象，然后调用相应的方法即可获取抓取的网页信息代码如下: include 'snoopy/Snoopy.class.php';      $snoopy = new Snoopy();      $sourceURL = &amp;quot;http://www.camnpr.com&amp;quot;; $snoopy-&amp;gt;fetchlinks($sourceURL);      $a = $snoopy-&amp;gt;results;它并没有提供获取网页中所有图片地址的方法，自己有个需求是要获取一个页面中所有文章列表中图片地址。然后自己就写了一个，主要还是正则那里匹配重要。代码如下: //匹配图片的正则表达式  $reTag = &amp;quot;/&amp;lt;img[^s]+src=&amp;quot;(http://[^&amp;quot;]+).(jpg|png|gif|jpeg)&amp;quot;[^/]*/&amp;gt;/i&amp;quot;;因为需求比较特殊，只需要抓取写死htp://开头的图片（外站的图片可能使得了防盗链，想先抓取到本地）1.抓取指定网页，并筛选出预期的所有文章地址；2.循环抓取第一步中的文章地址，然后使用匹配图片的正则表达式进行匹配，获取页面中所有符合规则的图片地址；3.根据图片后缀和ID（这里只有gif、jpg）保存图片---如果此图片文件存在，先将其删除再保存。代码如下: &amp;lt;meta http-equiv='content-type' content='text/html;charset=utf-8'&amp;gt; &amp;lt;?php     include 'snoopy/Snoopy.class.php';          $snoopy = <br/><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=1464&amp;Page=1">[&lt;&lt;]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=1464&amp;Page=1">[[1]]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=1464&amp;Page=2">[2]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=1464&amp;Page=3">[3]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=1464&amp;Page=7">[&gt;&gt;]</a><br/>
<br/>
<a href="wap.asp?act=Com&amp;id=1464">查看评论(0)</a><br/>
<a href="wap.asp?act=AddCom&amp;inpId=1464">发表评论</a><br/><br/>

<br/>

<br/>
<a href="http://camnpr.com/wap.asp">首页</a>
</p>
</card>
</wml>