`
dennisbing
  • 浏览: 152521 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

PHP Snoopy网页抓取工具

    博客分类:
  • PHP
 
阅读更多

snoopy是一个php类,用来模仿web浏览器的功能,它能完成获取网页内容和发送表单的任务。
下面是它的一些特征:
1、方便抓取网页的内容11111111111
2、方便抓取网页的文字(去掉HTML代码)
3、方便抓取网页的链接
4、支持代理主机
5、支持基本的用户/密码认证模式
6、支持自定义用户agent,referer,cookies和header内容
7、支持浏览器转向,并能控制转向深度
8、能把网页中的链接扩展成高质量的url(默认)
9、方便提交数据并且获取返回值
10、支持跟踪HTML框架(v0.92增加)
11、支持再转向的时候传递cookies

下面是简单的例子,比如说我们抓取我的blog的文字

include "Snoopy.class.php";
$snoopy = new Snoopy;
$snoopy->fetchtext("http://www.phpobject.net/blog");
echo $snoopy->results;

^_^,不错把,在比如抓取链接

include "Snoopy.class.php";
$snoopy = new Snoopy;
$snoopy->fetchlinks("http://www.phpobject.net/blog");
print_r($snoopy->results);

使用snoopy提交数据实现登陆

模拟登陆可以用curl或者socket来实现,当curl需要服务器相应的启用curl module,自己socket实现相对比较麻烦,使用snoopy就简单了很多啦。

在这里,我们使用喜悦国际村做为例子。(^_^,纯属研究)

首先,我们要获取到登陆需要发送什么字段,目标地址是什么。这里我们使用snoopy的fetchform来实现。

include "Snoopy.class.php";
$snoopy = new Snoopy;
$snoopy->fetchform("http://www.phpx.com/happy/logging.php?action=login");
print $snoopy->results;

当然你也可以直接查看http://www.phpx.com/happy/…的源代码来实现,不过这样更加方便把。这里,我们获取到目标和提交的数据,下一步就可以实现模拟登陆了。

代码如下:

include "Snoopy.class.php";
$snoopy = new Snoopy;
$submit_url = "http://www.phpx.com/happy/logging.php?action=login";
 
$submit_vars["loginmode"] = "normal";
$submit_vars["styleid"] = "1";
$submit_vars["cookietime"] = "315360000";
$submit_vars["loginfield"] = "username";
$submit_vars["username"] = "********"//你的用户名
$submit_vars["password"] = "*******"//你的密码
$submit_vars["questionid"] = "0";
$submit_vars["answer"] = "";
$submit_vars["loginsubmit"] = "提   交";
$snoopy->submit($submit_url,$submit_vars);
print $snoopy->results;

分享到:
评论

相关推荐

    Snoopy_PHP网页抓取工具

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

    PHP抓取及过滤网站工具snoopy

    snoopy是一个php类,用来模仿web浏览器的功能,它能完成获取网页内容和发送表单的任务。 下面是它的一些特征: 1、方便抓取网页的内容 2、方便抓取网页的文字(去掉HTML代码) 3、方便抓取网页的链接 4、支持代理...

    用snoopy抓取EMS验证码,远程模拟查询单号,取得查询结果

    用snoopy抓取EMS验证码,远程模拟查询单号,取得查询结果

    php snoopy 模拟表单提交 数据抓取

    php snoopy 模拟表单提交 数据抓取

    snoopy php来提取网页中你要的信息

    里面snoopy可以很方便的编写php来提取网页中你要的信息

    PHP采集类Snoopy抓取图片实例

    用了两天php的Snoopy这个类,发现很好用。...先实例化一个对象,然后调用相应的方法即可获取抓取的网页信息 复制代码 代码如下: include ‘snoopy/Snoopy.class.php’;   $snoopy = new Snoopy();   $sourceURL =

    2014最新Snoopy.class.php

    3抓取网页的链接,表单 fetchlinks fetchform 4 支持代理主机 5支持基本的用户名/密码验证 6 支持设置 user_agent, referer(来路), cookies 和 header content(头文件) 7支持浏览器重定向,并能控制重定向深度 8能把...

    Snoopy.class.php——登陆采集利器

    1、抓取网页的内容 fetch 2、抓取网页的文本内容 (去除HTML标签) fetchtext 3、抓取网页的链接,表单 fetchlinks fetchform 4、支持代理主机 5、支持基本的用户名/密码验证 6、支持设置 user_agent, referer(来路), ...

    PHP正则+Snoopy抓取框架实现的抓取淘宝店信誉功能实例

    本文实例讲述了PHP正则+Snoopy抓取框架实现的抓取淘宝店信誉功能。分享给大家供大家参考,具体如下: <?php header(Content-Type:text/html;charset=gbk); include Snoopy.class.php; $snoopy = new Snoopy; $...

    snoopy采集

    snoopy采集入门,有DEMO,容易学习

    Snoopy.class.php

    * 方便抓取网页的内容 * 方便抓取网页的文本内容 (去除HTML标签) * 方便抓取网页的链接 * 支持代理主机 * 支持基本的用户名/密码验证 * 支持设置 user_agent, referer(来路), cookies 和 header content...

    网页采集类Snoopy类及中文说明.rar

    抓取网页的内容 fetch() 抓取网页的文本内容 (去除HTML标签) fetchtext() 抓取网页的链接,表单 fetchlinks() fetchform() 支持代理主机 支持基本的用户名/密码验证 支持设置 user_agent, referer...

    Snoopy中文手册

    1、方便抓取网页的内容 2、方便抓取网页的文字(去掉HTML代码) 3、方便抓取网页的链接 4、支持代理主机 5、支持基本的用户/密码认证模式 6、支持自定义用户agent,referer,cookies和header内容 7、支持浏览器...

    Snoopy.class.php类及中文说明

    Snoopy.class.php类及中文说明

    Snoopy

    Snoopy PHP 类

    php基于Snoopy解析网页html的方法

    本文实例讲述了php基于Snoopy解析网页html的方法。分享给大家供大家参考。具体实现方法如下: set_time_limit(0); $user = array('20517', '20518'); header("content-Type: text/html; charset=utf-8"); require_...

    snoopy

    snoopy

    PHP采集器Snoopy详解

    Snoopy是一个PHP类,用来模拟浏览器的功能,可以获取网页内容,发送表单。Snoopy正确运行需要你的服务器的PHP版本在4以上,并且支持PCRE(Perl Compatible Regular Expressions),基本的LAMP服务都支持。

Global site tag (gtag.js) - Google Analytics