各种采集应用和采集插件的安装和采集代码整理

php开源采集类Snoopy.class.php功能使用介绍与下载地址

PHPer 2024-10-04 25 0 0

还没下载到Snoopy.class.php,还没实测 20241004

php开源采集类Snoopy.class.php功能使用介绍与下载地址_snoopy.class.php下载-CSDN博客


Snoopy是什么?

Snoopy是一个php类,用来模仿web浏览器的功能,它能完成获取网页内容和发送表单的任务。

Snoopy的一些特点:

* 方便抓取网页的内容* 方便抓取网页的文本内容 (去除HTML标签)* 方便抓取网页的链接* 支持代理主机* 支持基本的用户名/密码验证* 支持设置 user_agent, referer(来路), cookies 和 header content(头文件)* 支持浏览器转向,并能控制转向深度* 能把网页中的链接扩展成高质量的url(默认)* 方便提交数据并且获取返回值* 支持跟踪HTML框架(v0.92增加)* 支持再转向的时候传递cookies (v0.92增加)* 支持再转向的时候传递cookies

要求:

Snoopy requires PHP with PCRE (Perl Compatible Regular Expressions),which should be PHP 3.0.9 and up. For read timeout support, it requiresPHP 4 Beta 4 or later. Snoopy was developed and tested with PHP 3.0.12.

类方法:

fetch($URI)———–

这是为了抓取网页的内容而使用的方法。$URI参数是被抓取网页的URL地址。抓取的结果被存储在 $this->results 中。如果你正在抓取的是一个框架,Snoopy将会将每个框架追踪后存入数组中,然后存入 $this->results。

fetchtext($URI)—————

本方法类似于fetch(),唯一不同的就是本方法会去除HTML标签和其他的无关数据,只返回网页中的文字内容。

fetchform($URI)—————

本方法类似于fetch(),唯一不同的就是本方法会去除HTML标签和其他的无关数据,只返回网页中表单内容(form)。

fetchlinks($URI)—————-

本方法类似于fetch(),唯一不同的就是本方法会去除HTML标签和其他的无关数据,只返回网页中链接(link)。默认情况下,相对链接将自动补全,转换成完整的URL。

submit($URI,$formvars)———————-

本方法向$URL指定的链接地址发送确认表单。$formvars是一个存储表单参数的数组。

submittext($URI,$formvars)————————–

本方法类似于submit(),唯一不同的就是本方法会去除HTML标签和其他的无关数据,只返回登陆后网页中的文字内容。

submitlinks($URI)—————-

本方法类似于submit(),唯一不同的就是本方法会去除HTML标签和其他的无关数据,只返回网页中链接(link)。默认情况下,相对链接将自动补全,转换成完整的URL。

类属性: (缺省值在括号里)

$host  连接的主机$port  连接的端口$proxy_host  使用的代理主机,如果有的话$proxy_port  使用的代理主机端口,如果有的话$agent  用户代理伪装 (Snoopy v0.1)$referer  来路信息,如果有的话$cookies  cookies, 如果有的话$rawheaders  其他的头信息, 如果有的话$maxredirs  最大重定向次数, 0=不允许 (5)$offsiteok  whether or not to allow redirects off-site. (true)$expandlinks  是否将链接都补全为完整地址 (true)$user  认证用户名, 如果有的话$pass  认证用户名, 如果有的话$accept  http 接受类型 (image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*)$error  哪里报错, 如果有的话$response_code  从服务器返回的响应代码$headers  从服务器返回的头信息$maxlength  最长返回数据长度$read_timeout  读取操作超时 (requires PHP 4 Beta 4+)设置为0为没有超时$timed_out  如果一次读取操作超时了,本属性返回 true (requires PHP 4 Beta 4+)$maxframes  允许追踪的框架最大数量$status  抓取的http的状态$temp_dir  网页服务器能够写入的临时文件目录 (/tmp)$curl_path  cURL binary 的目录, 如果没有cURL binary就设置为 false

1. 采集页面内容

01 include(include/snoopy.class.php);
02 echo "<pre>";
03 $snoopy = new Snoopy;
04 $snoopy->host = http://www.baidu.com;
05 $snoopy-> fetchtext($snoopy->host); //获取所有文本内容(去掉html代码)
06 /*
07 $snoopy->fetch($snoopy->host); //获取页面所有链接
08 $snoopy->fetchlinks($snoopy->host); //获取页面所有链接
09 $snoopy->fetchlinks($snoopy->host); //获取链接  
10 $snoopy->fetchform($snoopy->host);  //获取表单 
11 */
12 print_r($snoopy->results);

2. 下载指定url图片

01 include_once( include/snoopy.class.php );  //调用Snoopy类
02  
03 function getImage($id,$url) {
04  
05  $filename = $id . ".jpg";
06  
07  $temp = new Snoopy;
08  $temp -> fetch($url);
09  if($temp->results != "") {
10   $handle = fopen("images/" . $filename, "w");
11   fwrite($handle, $temp->results);//写入抓得内容
12   fclose($handle);
13  }
14  return $filename;
15 }

3. 获取表单

1 $snoopy = new Snoopy; 
2 $snoopy->fetchform("http://lzw.me/login.asp"); 
3 print $snoopy->results;

4. 表单提交(如登陆等) 

01 $formvars["username"] = "test";  
02 $formvars["pwd"] = "123456";
03     
04 $action = "http://lzw.me/login.asp";//表单提交地址  
05 $snoopy->submit($action,$formvars);//$formvars为提交的数组  
06 echo $snoopy->results; //获取表单提交后的 返回的结果  
07 /*可选
08 $snoopy->submittext($action,$formvars); //提交后只返回 去除html的 文本  
09 $snoopy->submitlinks($action,$formvars); //提交后只返回 链接
10 */

5. 伪装ip,伪装浏览器 

查看源码
01 $formvars["username"] = "admin";  
02 $formvars["pwd"] = "admin";  
03 $action = "http://lzw.me";  
04 include "snoopy.php";  
05 $snoopy = new Snoopy;  
06 $snoopy->cookies["PHPSESSID"] = fc106b1918bd522cc863f36890e6fff7; //伪装sessionid  
07 $snoopy->agent = Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; //伪装浏览器  
08 $snoopy->referer = "http://lzw.me"; //伪装来源页地址 http_referer  
09 $snoopy->rawheaders["Pragma"] = "no-cache"; //cache 的http头信息  
10 $snoopy->rawheaders["X_FORWARDED_FOR"] = "127.0.0.101"; //伪装ip  
11 $snoopy->submit($action,$formvars);  
12 echo $snoopy->results;

snoopy下载

snoopy最新的是2008年更新的1.2.4版本,其开源下载地址如下,如果您下载遇到困难,可与志文工作室联系。...

立即注册
分享的网址网站均收集自搜索引擎以及互联网,非查问网运营,查问网并没有提供其服务,请勿利用其做侵权以及违规行为。

更新于:2024-10-04 16:41:52
    您需要登录后才可以评论。 立即注册
    相关内容

    PHP Trait 使用指南

    [PHP] 网盘搜索引擎-采集爬取百度网盘分享文件实现网盘搜索

    php获取链接跳转的真实地址

    【PHP】COOKIE和SESSION的使用以及区别

    使用thinkphp框架时遇到的问题

    THINKPHP6 页面错误!请稍后再试~

    推荐内容

    分享几个好用的bt搜索bt资源下载网址网站

    影视电影剧集动漫综艺bt资源在线播放网址网站推荐分享

    全网最新bt磁力搜索引擎bt资源bt网站网址分享

    人气美女女优百度指数排行榜(波多野结衣,苍井空,三上悠亚,深田咏美,桥本有菜,北条...

    最强人造人深田咏美,业界的社交女王

    人生起起落落的三上悠亚,成名前的清纯风,怎么搭配出来的?

    业内第一大长腿,桥本有菜的腿究竟有多长

    波多野结衣,岛国业界著作最多的超级劳模

    日本AV界NO.1,苍井空是多少宅男的疯狂?

    美女女优视频混剪 This Girl-Laza Morgan

    怎样使用V2Ray代理和SSTap玩如魔兽世界/绝地求生/LOL台服/战地3/黑色沙漠/彩...

    sstap游戏代理教程 从此玩如魔兽世界/绝地求生/LOL台服/战地3/黑色沙漠/彩虹六...

    影视电影剧集动漫综艺bt资源在线播放网址网站推荐分享