snoopy

snoopy是一个PHP类,用来模仿web浏览器的功能,它能完成获取网页内容和发送表单的任务。官方网站 http://snoopy.sourceforge.net/;

Snoopy的一些功能特点:

  • 抓取网页的内容 fetch()
  • 抓取网页的文本内容 (去除HTML标签) fetchtext()
  • 抓取网页的链接,表单 fetchlinks() fetchform()
  • 支持代理主机
  • 支持基本的用户名/密码验证
  • 支持设置 user_agent, referer(来路), cookies 和 header content(头文件)
  • 支持浏览器重定向,并能控制重定向深度
  • 能把网页中的链接扩展成高质量的url(默认)
  • 提交数据并且获取返回值
  • 支持跟踪HTML框架
  • 支持重定向的时候传递cookies

要求php4以上就可以。由于本身是php一个类,无需扩支持,服务器不支持curl时候的最好选择。

[html]  view plain  copy
 
  1. include "Snoopy.class.php";  
  2.     $snoopy = new Snoopy;  
  3.       
  4.     $snoopy->fetchtext("http://www.php.net/");  
  5.     print $snoopy->results;  
  6.       
  7.     $snoopy->fetchlinks("http://www.phpbuilder.com/");  
  8.     print $snoopy->results;  
  9.       
  10.     $submit_url = "http://lnk.ispi.net/texis/scripts/msearch/netsearch.html";  
  11.       
  12.     $submit_vars["q"] = "amiga";  
  13.     $submit_vars["submit"] = "Search!";  
  14.     $submit_vars["searchhost"] = "Altavista";  
  15.           
  16.     $snoopy->submit($submit_url,$submit_vars);  
  17.     print $snoopy->results;  
  18.       
  19.     $snoopy->maxframes=5;  
  20.     $snoopy->fetch("http://www.ispi.net/");  
  21.     echo "<PRE>\n";  
  22.     echo htmlentities($snoopy->results[0]);  
  23.     echo htmlentities($snoopy->results[1]);  
  24.     echo htmlentities($snoopy->results[2]);  
  25.     echo "</PRE>\n";  
  26.   
  27.     $snoopy->fetchform("http://www.altavista.com");  
  28.     print $snoopy->results;  

你可能感兴趣的:(snoopy)