您的位置 首页 php

php_curl抓取加密网站内容分享

小编近期开发一个php抓取网站内容功能,由于网站做了一些防止抓取限制。小编废了好大劲才破译。

首先小编不知道网站做了怎样的阻止。在抓取时总是会报错 如下图:

开始使用模拟header头请求该网站但是还是无效试了无数种可能,请求的 cookie ,以及一切请求参数都找到通过curl配置好,就是不行。

最终,找到一个gzip压缩格式抓取,需要在phpcurl中设置代码: curl_setopt($ch,CURLOPT_ENCODING , “gzip”); 自己试用一下居然打开了该网站

抓取到了该页面,当我继续通过正则获取需要的数据时问题又出现了,始终抓取为空。看到了,却抓取不到呢,经过一系列的搜索,以及试探

才找到问题所在需要把抓取的数据存储到指定变量中。代码: curl_setopt($ch,CURLOPT_RETURNTRANSFER,true); 这是设置把抓取到的数据放到一个变量中。自己在通过变量来获取即可。

具体请求完整代码如下。代码很少,但是却让我很费脑筋。

$ch =curl_init();

curl_setopt($ch,CURLOPT_URL,”www.xxxx.com”);

curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);

curl_setopt($ch,CURLOPT_ENCODING , “gzip”);

$content = curl_exec($ch);

curl_close($ch);

之后即可通过preg_match();获取自己想要的数据。小编技术比较低,这点研究了好久。应该是一些基础。希望能对大家有所帮助。

文章来源:智云一二三科技

文章标题:php_curl抓取加密网站内容分享

文章地址:https://www.zhihuclub.com/79243.shtml

关于作者: 智云科技

热门文章

网站地图