您的位置:首页 > 编程语言 > PHP开发

php+snoopy 数据采集

2015-12-08 10:18 495 查看
PHP采集库

Snoopy是一个php类,用来模拟浏览器的功能,可以获取网页内容,发送表单。

Snoopy的特点:

1、抓取网页的内容 fetch

2、抓取网页的文本内容 (去除HTML标签) fetchtext

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

4、支持代理主机

5、支持基本的用户名/密码验证

6、支持设置 user_agent, referer(来路), cookies 和 header content(头文件)

7、支持浏览器重定向,并能控制重定向深度

8、能把网页中的链接扩展成高质量的url(默认)

9、提交数据并且获取返回值

10、支持跟踪HTML框架

11、支持重定向的时候传递cookies

获取指定网页的内容

<?php

$url = "http://www.codesky.net";

include("lib/Snoopy.class.php");

$snoopy = new Snoopy;

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

$content=$snoopy->results; //显示结果

// print_r($content);

//获取到所有的文本

$snoopy->fetchtext('http://tech.163.com/internet');//获取链接

$text=$snoopy->results;

print_r($text);

//获取所有的链接

$snoopy->fetchlinks; //获取链接

$link=$snoopy->results;

print_r($link);

?>

接下来我们来伪装ip,伪装浏览器 伪装session

注意: 这里伪装ip ,其实是伪装http头, 所以一般的通过 REMOTE_ADDR 获取的ip是伪装不了,

反而那些通过http头来获取ip的(可以防止代理的那种) 就可以自己来制造ip。

<?php

include("lib/Snoopy.class.php");

$snoopy = new Snoopy;

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

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

$action = "http://www.codesky.net";

$snoopy->cookies["PHPSESSID"] = 'fc106b1918bd522cc863f36890e6fff7'; //伪装sessionid

$snoopy->agent = "(compatible; MSIE 4.01; MSN 2.5; AOL 4.0; Windows 98)"; //伪装浏览器

$snoopy->referer = "http://s.jb51.net"; //伪装来源页地址 http_referer

$snoopy->rawheaders["Pragma"] = "no-cache"; //cache 的http头信息

$snoopy->rawheaders["X_FORWARDED_FOR"] = "127.0.0.101"; //伪装ip

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

echo $snoopy->results;

?>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: