使用Snoopy来获取某网页的所有链接

作者:enenba | 发表于:2012-05-24 23:27 | 分类:php采集

Snoopy是一个php类,用来模拟浏览器的功能,可以获取网页内容,发送表单。现用Snoopy来获取某网页的所有链接。

下面使用Snoopy一个页面的所有链接

<?php
/**
 * 使用Snoopy来获取某网页的所有链接 by enenba
 * 2012-5-24
 * @param str $url 搜索目标url
 * @return array $result 链接数组
 */
include "Snoopy.class.php";
function Snoopy_get_urls($url) {
	$snoopy = new Snoopy;
	//采集此页面的所有链接。
	$snoopy->fetchlinks($url);
	return $snoopy->results;
} 

if(isset($_GET[q])) {
	$url = $_GET[q];
	$urlarray = Snoopy_get_urls($url);
}
?>
<html>
<head>
<title>使用Snoopy来获取某网页的所有链接</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<style type="text/css">
	a{display:none}
</style>
</head>
<body>
<h2>使用Snoopy来获取某网页的所有链接</h2>
<form method="get" action="">
	请输入url,包含http://<br />
	<input type="text" name="q" size="60" value="<?php echo $url; ?>"><input type="submit" value="查 询">
</form>
<br />
<?php
echo '<pre>';
print_r($urlarray);
echo '</pre>';
?>

</body>
</html>

 

从例子写的代码来看,已经Snoopy是一个已经完善的php类,所以很实用,推荐大家使用

PS:本例子没有对网站的编码进行判断和转码,请自行解决。

猛击演示

附件下载/演示源码:
Snoopy.class.rar7.71KB

上一篇: phpQuery—基于jQuery的PHP实现   |   下一篇:编程语言中十六进制的正则匹配» 标签: php采集 Snoopy 采集链接

评论:

2012-05-31 23:51

技术类博客 牛叉