PHP使用Snoopy类下载图片
作者:admin 日期:2012-04-24
PHP代码
- <?php
- set_time_limit(0); //设置超时时间
- include_once( 'Snoopy.class.php' ); //调用Snoopy类
- function getImage($id,$url) {
- $filename = $id . ".jpg";
- $temp = new Snoopy;
- $temp -> fetch($url);
- if($temp->results != "") {
- $handle = fopen("images/" . $filename, "w");
- fwrite($handle, $temp->results);//写入抓得内容
- fclose($handle);
- }
- return $filename;
- }
- ?>
使用PHP的Snoopy类抓取图片
作者:admin 日期:2012-04-24
用了两天php的Snoopy这个类,发现很好用。获取请求网页里面的所有链接,直接使用fetchlinks就可以,获取所有文本信息使用fetchtext(其内部还是使用正则表达式在进行处理),还有其它较多的功能,如模拟提交表单等。
使用方法:
- 先下载Snoopy类,下载地址:http://sourceforge.net/projects/snoopy/
- 先实例化一个对象,然后调用相应的方法即可获取抓取的网页信息
PHP代码
- include 'snoopy/Snoopy.class.php';
- $snoopy = new Snoopy();
- $sourceURL = "http://xxxxxxxxx";
- $snoopy->fetchlinks($sourceURL);
- $a = $snoopy->results;
它并没有提供获取网页中所有图片地址的方法,自己有个需求是要获取一个页面中所有文章列表中图片地址。然后自己就写了一个,主要还是正则那里匹配重要。
PHP代码
- //匹配图片的正则表达式
- $reTag = "/<img[^s]+src="(http://[^"]+).(jpg|png|gif|jpeg)"[^/]*/>/i";
广告位