magpierss中就用到了snoopy,這讓我有點興趣去研究下這個咚咚。再SF上,找到了這個源代碼。居然就是一個類,但不要笑看哦,功能可是很強大的。
官方的簡介,我翻譯了下(汗。。。最近老是充當翻譯的角色)
snoopy是一個php類,用來模仿web浏覽器的功能,它能完成獲取網頁內容和發送表單的任務。
下面是它的一些特征:
1、方便抓取網頁的內容
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);
?>
嘿嘿,效果不錯把,而且全部都是我們需要的url,而沒有那種/blog/read.php/85.htm那種東西。
另外提交數據那些稍後測試。。。
yuanma/php/Snoopy-1.2.3.tar.gz本地下載