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;
?>
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;
?>
相关文章推荐
- php+smarty ,smarty 缓存
- PHP使用MPDF类生成PDF的方法
- MYSql和PHP计算数据性能
- PHP JAVA Bridge桥的最新使用
- php面向对象详解
- PHP 留言板功能需求分析
- webservice与接口开发以及phprpc,构建php服务器
- php---发送邮件
- php5 面向对象
- php 文件操作,PHP ZipArchive扩展库,php处理flash扩展
- zend 工具应用
- php操作xml,xml 常用
- php操作mysql
- php与json
- php img 操作(缩略图,水印,图像剪切)
- 在WAMPSERVER下增加多版本的PHP(PHP5.3,PHP5.4,PHP5.5)完美支持。
- file的getPath getAbsolutePath和getCanonicalPath的区别
- php常用语句
- Windows 下使用ftp批处理脚本
- PHP7 快速编译安装