htmlunit 抓取网页(做过j2ee或android开发的童鞋,应该或多或少都使用过Apeache)
优采云 发布时间: 2021-09-22 11:07htmlunit 抓取网页(做过j2ee或android开发的童鞋,应该或多或少都使用过Apeache)
由J2EE或Android开发的坟墓应该或多或少地使用了Apheach的Httpclient库。此类库为我们提供了一个非常强大的服务器HTTP请求操作。在开发中使用非常方便。
最近做PHP开发,还需要在服务器上发送HTTP请求,然后处理返回客户端,如果使用套接字,您可能不会太麻烦,我想看看是否有任何问题Httpclient在PHP中。类库。
谷歌,我发现PHP中有这样的类库,名称称为Httpclient,非常兴奋,看官方网站,发现它尚未更新多年,并且该功能似乎是有限,损失是什么。然后我找到了另一个类库史努比,我不知道这个类库,但我仍然看到在线响应不错,所以我决定用他。他的API使用和Apheach的Httpclient差异,但它仍然很容易使用。此外,还有许多特殊用途的方法,例如只抓住页面中的表单形式,或所有链接等。
include 'Snoopy.class.php';
$snoopy = new Snoopy();
$snoopy->fetch("http://www.baidu.com");
echo $snoopy->results;
上面的代码很容易轻松抓住百度页面。
当然,当你需要发送帖子表单时,可以使用提交方法提交数据。
他还提供了Cookie的请求标题,响应头和相关操作功能,非常强大。
\ n“;} else {echo”错误获取文档:“$ snoopy->错误。” \ n“;}
更多操作方法,您可以转到Snoopy的官方查看文档,或直接查看源代码。
在这里,snoopy只是将页面返回。如果要提取页面,则无法帮助它。在这里我发现另一个PHP解析HTML工具:PHPQuery,它提供了操作方法和jQuery几乎完全,并提供了一些PHP特性,熟悉jQuery儿童鞋,使用phpquery应该是相当的,甚至不需要文档。
使用史努比+ PhpQuery,它是实现网页,非常实用很方便,我也是最近在这方面,我发现这两个很好的类库,我有很多的Java可以做到这一点。事情,PHP也可以这样做。
兴趣的同学,您也可以尝试将它们成为一个简单的Web爬升。