,,PHP采集类snoopy详细介绍(snoopy使用教程)

,,PHP采集类snoopy详细介绍(snoopy使用教程)

本文主要介绍PHP集合类snoopy的详细介绍,以及PHP集合类snoopy的详细使用教程。有需要的朋友可以参考一下。

Snoopy是一个php类,用来模拟浏览器的功能。它可以获取web内容和发送表单,可以用来开发一些收款程序和小偷程序。本文详细介绍了史努比的使用教程。

史努比的一些功能:

抓取网页的内容

抓取网页的文本内容(去掉HTML标签)

抓取网页的链接,表单fetchlinks fetchform

支持代理主机

支持基本用户名/密码认证。

支持User_agent、referer、cookies和header内容。

支持浏览器重定向,并且可以控制重定向深度。

可以将网页中的链接扩展为高质量的URL(默认)

提交数据并获取返回值。

支持跟踪HTML框架

支持重定向时传递cookies

要求php4以上就够了。由于它是php的一个类,所以当支持服务器不支持curl时,它是最佳选择,

Snoopy类方法和示例:

获取(URI)

这是用来抓取网页内容的方法。

$URI参数是被抓取的网页的URL地址。

捕获的结果存储在$this-results中。

如果你正在抓取一帧,Snoopy将跟踪每一帧并将其存储在一个数组中,然后将其存储在$this-results中。

fetchtext(URI)

这个方法类似于fetch(),唯一的区别是这个方法会去掉HTML标签和其他无关数据,只返回网页中的文本内容。

胎儿形态(URI)

这个方法类似于fetch(),唯一不同的是这个方法会去掉HTML标签等无关数据,只返回网页中的表单内容(form)。

fetchlinks(URI)

这个方法类似于fetch(),唯一不同的是这个方法会去掉HTML标签和其他无关数据,只返回网页中的链接。

默认情况下,相对链接将自动完成,并转换为完整的网址。

提交($URI,$formvars)

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

提交文本($URI,$formvars)

这种方法类似于submit(),唯一不同的是这种方法会去掉HTML标签等无关数据,登陆后只返回网页中的文本内容。

提交链接(URI)

这个方法类似于submit(),唯一不同的是这个方法会去掉HTML标签等无关数据,只返回网页中的链接。

默认情况下,相对链接将自动完成,并转换为完整的网址。

Snoopy采集类属性: (默认值在括号里)

$host 连接的主机

$port 连接端口

$proxy_host使用的代理主机(如果有)

$proxy_port使用的代理主机端口(如果有)

$agent 用户代理伪装(Snoopy v0.1)

$referer路线信息,如果有的话

$cookies cookies,如果有的话

$rawheaders其他标题信息(如果有)

$maxredirs最大重定向次数,0=不允许(5)

$offsiteok 是否允许异地重定向。(正确)

$expandlinks 完成所有链接以完成地址(真)

$user 验证用户名(如果有)

$pass验证用户名(如果有)

$accepthttp可接受的类型(图像/gif、图像/x-x位图、图像/JPEG、图像/pjpeg、*/*)

$error哪里报告了错误(如果有)?

从服务器返回$response_code响应代码

$headers从服务器返回的标题信息

$maxlength 最大返回数据长度

$read_timeout读取操作超时(需要PHP 4 Beta 4)设置为0表示无超时。

$timed_out如果读取操作超时,该属性返回true(需要PHP 4 Beta 4)

$maxframes 允许跟踪的最大帧数

$statushttp已爬网的状态

$temp_dirweb服务器可以写入的临时文件的目录(/tmp)

$curl_path cURL二进制文件的目录,如果没有cURL二进制文件,则设置为false。

下面是一个例子:

复制代码如下:

包含“snoopy . class . PHP”;

$snoopy=新史努比;

$ snoopy-proxy _ host=' https://www . jb51 . net ';

$ snoopy-proxy _ port=' 80 ';

$snoopy-agent='(兼容;MSIE 4.01MSN 2.5AOL 4.0windows 98)’;

$ snoopy-referer=' https://www . jb51 . net ';

$ snoopy-cookies[' session id ']=238472834723489 l;

$ snoopy-cookies[' favorite color ']=' RED ';

$ snoopy-raw headers[' Pragma ']=' no-cache ';

$ snoopy-maxredirs=2;

$ snoopy-offsite ok=false;

$ snoopy-expandlinks=false;

$ snoopy-user=' Joe ';

$ snoopy-pass=' bloe ';

if(snoopy-fetchtext(' https://www . jb51 . net '))

{

回显“前”。htmlspecialchars($ snoopy-results)。/PRE \ n ';

}

其他

提取文档时出现“echo”错误:“”。$ snoopy-错误。\ n ';

获取指定的url内容

复制代码如下:服务器端编程语言(Professional Hypertext Preprocessor的缩写)

$ URL=' https://www . jb51 . net ';

include(' snoopy . PHP ');

$snoopy=新史努比;

$ snoopy-fetch($ URL);//获取所有内容

echo $ snoopy-结果;//显示结果

//以下是可选的

$snoopy-fetchtext //获取文本内容(删除html代码)

$snoopy-fetchlinks //获取链接

$snoopy-fetchform //获取表单

表单提交

复制代码如下:服务器端编程语言(Professional Hypertext Preprocessor的缩写)

$ formvars[' username ']=' admin ';

$ formvars[' pwd ']=' admin ';

$ action=' https://www . jb51 . net ';///表单提交地址

$snoopy-submit($action,$ formvars);//$formvars是提交的数组。

echo $ snoopy-结果;//表单提交后获取返回结果。

//以下是可选的

$ snoopy-submit text;//提交后只返回去掉html的文本

$ snoopy-submit links;//提交后只返回链接

现在你已经提交了表格,你可以做很多事情。接下来,我们来伪装一下ip和浏览器。

伪装浏览器

复制代码如下:服务器端编程语言(Professional Hypertext Preprocessor的缩写)

$ formvars[' username ']=' LAN fengye ';

$ formvars[' pwd ']=' LAN fengye ';

$ action=' https://www . jb51 . net ';

包含“snoopy . PHP”;

$snoopy=新史努比;

$ snoopy-cookies[' PHPSESSID ']=' fc 106 b 1918 BD 522 cc 863 f 36890 e 6 fff 7 ';//伪装sessionid

$snoopy-agent='(兼容;MSIE 4.01MSN 2.5AOL 4.0windows 98)’;//伪装浏览器

$ snoopy-referer=' https://www . jb51 . net ';//伪装源页面地址http_referer

$ snoopy-raw headers[' Pragma ']=' no-cache ';//缓存的http头信息

$ snoopy-raw headers[' X _ FORWARDED _ FOR ']=' 127 . 0 . 0 . 101 ';//伪装ip

$snoopy-submit($action,$ formvars);

echo $ snoopy-结果;

原来我们可以伪装会话,伪装浏览器,伪装ip,哈哈可以做很多事情。

比如有了验证码,ip投票可以验证,可以连续投票。

Ps:这里ip是伪装的,其实就是http头,所以REMOTE_ADDR得到的ip一般是伪装不了的。

相反,通过http头(可以防止代理的那种)获取ip的,可以自己做ip。

关于如何验证代码,简单说:

首先用常用浏览器查看页面,找到验证码对应的sessionid。

同时记下sessionid和验证码值,

然后用史努比来伪造。

原理:因为是同一个sessionid,所以得到的验证码和第一次输入的验证码是一样的。

有时候我们可能需要伪造更多的东西,史努比完全为我们想到了

?服务器端编程语言(Professional Hypertext Preprocessor的缩写)

$ snoopy-proxy _ host=' https://www . jb51 . net ';

$ snoopy-proxy _ port=' 8080 ';//使用代理

$ snoopy-maxredirs=2;//重定向次数

$ snoopy-expandlinks=true;//收集时经常使用是否完成链接。

//比如链接/images/taoav.gif可以改成它的完整链接A href=' 3359 www.jb51.net/images/taoav.gif' 3359 www.jb51.net/images/taoav.gif/a

$snoopy-maxframes=5 //允许的最大帧数

//注意$snoopy-results在抓取帧时返回一个数组

$snoopy-error //返回错误信息

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • 使用php连接mysql数据库,php连接数据库的方法
  • 使用php连接mysql数据库,php连接数据库的方法,一文详解PHP连接MySQL数据库的三种方式
  • 七种php开发环境搭建工具有哪些,七种php开发环境搭建工具包括
  • 七种php开发环境搭建工具有哪些,七种php开发环境搭建工具包括,七种PHP开发环境搭建工具
  • php高并发三种解决方法,php 高并发解决方案
  • php高并发三种解决方法,php 高并发解决方案,PHP解决高并发问题(opcache)
  • php邮件发送的两种方式区别,php邮件发送的两种方式是什么
  • php邮件发送的两种方式区别,php邮件发送的两种方式是什么,php邮件发送的两种方式
  • php跳转页面的几种实现方法详解图,php跳转页面的几种实现方法详解视频
  • php跳转页面的几种实现方法详解图,php跳转页面的几种实现方法详解视频,PHP跳转页面的几种实现方法详解
  • PHP购物车,php立即购买和购物车功能
  • PHP购物车,php立即购买和购物车功能,php实现购物车功能(上)
  • php读取pdf数据,php pdf读取
  • php读取pdf数据,php pdf读取,PHP中使用mpdf 导出PDF文件的实现方法
  • php网站判断用户是否是手机访问的方法有哪些,php如何判断用户是否登录
  • 留言与评论(共有 条评论)
       
    验证码: