snoopy php网页抓取工具(不是($URI)PHP一个类类类代码)
优采云 发布时间: 2021-09-09 01:02snoopy php网页抓取工具(不是($URI)PHP一个类类类代码)
好吧,我不再谈论卡通史努比了。它是一个 PHP 类。它可以用来模仿网页浏览器的功能,完成获取网页内容和发送表单的任务。可以向其官方网站学习:
快速轻松地抓取网页的内容、文本(无 Html 标签)和链接。支持代理服务器、基本用户/密码认证方式、内容。支持浏览器重定向和控制深度。将获取到的链接扩展为带域名的链接(默认),可以提交表单数据并获取结果。支持跟踪 HTML 框架(添加了0.92 版本)。支持在重定向(添加0.92 版本)结果时传递 cookie。如果是抓取帧,则每帧都会被抓取,结果保存在一个数组中。
fetchtext($URI)
该方法与fetch()大致相同,只是结果是文本,不包括HTML标签等无关信息。
fetchform($URI)
该方法只返回被抓取网页上的表单元素。
fetchlinks($URI)
该方法只返回被抓取网页上的链接。默认返回的链接都是收录域名的链接。
提交($URI,$formvars)
此方法将表单提交到指定的 $URI。 $formvars 是要传递的表单变量数组。
提交文本($URI,$formvars)
该方法与submit()基本相同,只是返回文本,不包括html标签等无关数据。
提交链接($URI)
此方法返回链接。
在WordPress中,已经收录了这个类,而且在前面提到的RSS解析类MagpieRSS中,这个类也是用来获取RSS的。最新版的 WordPress 2.5 使用 Snoopy 下载文件来更新插件。使用的史努比类的代码是:
function download_url( $url ) {
if( ! $url )
return false;
$tmpfname = tempnam(get_temp_dir(), 'wpupdate'); //获取临时文件名
if( ! $tmpfname )
return false;
$handle = fopen($tmpfname, 'w'); //以写的方式打开临时文件
if( ! $handle )
return false;
require_once( ABSPATH . 'wp-includes/class-snoopy.php' ); //引入 Snoopy 类
$snoopy = new Snoopy();
$snoopy->fetch($url); //抓取指定的网页
fwrite($handle, $snoopy->results); //把抓取得内容写到 临时文件中
fclose($handle);
return $tmpfname;
}
©我爱水煮鱼,本站推荐主机:阿里云。国外主机推荐使用 BlueHost。