Snoopy类的基本运用

Snoopy是一个PHP类库,用来模仿Web浏览器的功能,能够获取网页内容和发送表单信息的功能。
下载地址:http://sourceforge.net/projects/snoopy/files/

它的基本功能大概如下:
-> 抓取网页的内容
-> 抓取网页的文字(去掉HTML代码)
-> 抓取网页的超级链接
-> 支持代理服务器
-> 支持基本的用户/密码认证模式
-> 支持自定义User agent、Referer、Cookies和HTTP头内容
-> 支持浏览器专项,并能控制转向深度
-> 方便提交数据并且获得返回值
-> 支持跟踪HTML框架
-> 支持再转向时传递Cookies

它的功能很全,但是有的功能没有运用过。
写了一些常用的功能的例子,其他的运用到了再来补充。
1.取HTML内容

<?php
include './Snoopy/Snoopy.class.php';       // 根据本地路径 导入Snoopy类
$snoopy = new Snoopy();                    // 实例化一个Snoopy对象
$snoopy->fetch("http://www.hao123.com/");  // 想要抓取的网页地址,这里就抓取hao123为实例
$line   = $snoopy->results;                // 通过results属性来获取内容
print_r($line);                            // 输出



2.取得纯文本内容
include './Snoopy/Snoopy.class.php';          // 根据本地路径 导入Snoopy类
$snoopy = new Snoopy();                       // 实例化一个Snoopy对象
$snoopy->fetchtext("http://www.hao123.com/"); // 想要抓取的网页地址,这里就抓取hao123为实例
$line   = $snoopy->results;                   // 通过results属性来获取内容
print_r($line);                               // 输出


3.取得表单字段内容
include './Snoopy/Snoopy.class.php';       // 根据本地路径 导入Snoopy类
$snoopy = new Snoopy();                    // 实例化一个Snoopy对象
$snoopy->fetch("http://bbs.blueidea.com/logging.php?action=login");  // 想要抓取的网页地址,这里就抓取blueidea的登录为实例
$line   = $snoopy->results;                // 通过results属性来获取内容
print_r($line);                            // 输出


4.自动登录
$submit_url = "#";
$submit_vars['loginmode'] = 'normal';
$submit_vars['styleid']   = '1';
$submit_vars['name']      = '长虫的梅子';
$submit_vars['password']  = '*******';
$submit_vars['loginsubmit'] = "提&nbsp;交";
$snoopy->submit($submit_url, $submit_vars);  // 用submit方法来实现登录
print_r($snoopy->results);


注:自动登录还未测试成功,但基本用法是这样的。

其余功能待续。。。

你可能感兴趣的:(html,PHP,框架,浏览器,bbs)