snoopy php网页抓取工具(做过j2ee或android开发的童鞋,应该或多或少都使用过Apeache的HttpClient类库)

优采云 发布时间: 2022-02-05 01:16

  snoopy php网页抓取工具(做过j2ee或android开发的童鞋,应该或多或少都使用过Apeache的HttpClient类库)

  如果你做过童鞋的j2ee或者android开发,应该多多少少用过Apeache的HttpClient类库。这个类库为我们提供了非常强大的服务端Http请求操作。在开发中使用非常方便。

  最近在开发php中,也需要在服务器端发送http请求,然后再处理回客户端。

  我google了一下,发现php中有这样一个类库,名字叫httpclient。我很兴奋。看了下官网,发现已经很多年没有更新了,功能好像也有限,很是失望。然后又找到了另一个类库Snoopy,这个类库我不知道,但是网上的反应还不错,所以决定用它。它的 API 使用与 Apache 的 HttpClient 有很大的不同,但仍然非常好用。并且提供了很多特殊用途的方法,比如只能抓取页面中的form表单,或者所有的链接等等。

  include \'Snoopy.class.php\';

$snoopy = new Snoopy();

$snoopy->fetch("http://www.baidu.com");

echo $snoopy->results;

  以上几行代码就可以轻松爬取百度的页面。

  当然,当需要发送post表单时,可以使用submit方法提交数据。

  同时还提供了请求头、响应头以及cookies的相关操作功能,功能非常强大。

  \n";} else {echo "错误获取文档:" . $snoopy->error . "\n";}

  更多操作方法可以去Snoopy的官方文档,或者直接查看源码。

  此时,snoopy 只取回页面。如果您想从获取的页面中提取数据,那么它不会有太大帮助。这里又找到了一个php解析html的好工具:phpQuery,它提供了和jquery几乎一样的操作方法,并且提供了一些php的特性,熟悉jquery的童鞋,应该还是蛮好用的phpquery,连phpQuery的文档都没有已经需要了。。

  使用Snoopy+PhpQuery可以轻松实现网页爬取和数据分析,非常实用。我最近也需要这个,只找到了这两个不错的类库。事实证明,java可以做的事情有很多。php也可以做到。

  有兴趣的同学也可以尝试用它们制作一个简单的网络爬虫。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线