snoopy 模拟真实请求,轻松采集 !

一直都有snoopy做采集,但都是只用最基本的采集函数,这两天采集一个站以前可以,现在采集是空的,模拟了主机和来路之后,妥妥的拿到了数据

snoopy 各参数

$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

演示代码

include "Snoopy.class.php";
$snoopy = new Snoopy; 
 
$snoopy->proxy_host = "www.baidu.com";
$snoopy->proxy_port = "8080"; 
 
$snoopy->agent = "(compatible; MSIE 4.01; MSN 2.5; AOL 4.0; Windows 98)";
$snoopy->referer = "http://www.baidu.com/"; 
 
$snoopy->cookies["SessionID"] = 238472834723489l;
$snoopy->cookies["favoriteColor"] = "RED"; 
 
$snoopy->rawheaders["Pragma"] = "no-cache"; 
 
$snoopy->maxredirs = 2;
$snoopy->offsiteok = false;
$snoopy->expandlinks = false; 
 
$snoopy->user = "joe";
$snoopy->pass = "bloe"; 
 
if($snoopy->fetchtext("http://www.baidu.com"))
{
echo " ".htmlspecialchars($snoopy->results)."n";
}
 
else
echo "error fetching document: ".$snoopy->error."n";

  • 该日志由 于2014年11月20日发表在 网站建设 分类下, 你可以发表评论,并在保留原文地址 及作者的情况下引用到你的网站或博客。
  • 本文链接: snoopy 模拟真实请求,轻松采集 ! | OurELife
  • 文章标签: ,
  • 版权所有: OurELife-转载请标明出处
  • 【上一篇】 【下一篇】

    0 Comments.

    发表评论