开发者社区> 问答> 正文

PHP curl采集防盗链网站乱码问题求助?报错


在采集一个视频资讯网站时发现其用了防盗链和爬虫、禁用cookies会报错,完全模拟采集后全是乱码。

用fillder抓包设置no compression 之后就可以看到正常的HTML代码了,不知道这是社么原理,如何解决?

点击no compression后能正常显示HTML




<?php
header('content-type:text/html;charset=utf8');
set_time_limit(0);
	$curl = curl_init('http://www.jijizy点com/vod/?24229.html');
		$header = array();
		$header[] = 'Host: www.jijizy.com';
		$header[] = 'Referer: http://www.jijizy点com/vodlist/?5.html';
		$header[] = 'Accept-Encoding: gzip';
		$header[] = 'Accept-Language: zh-CN';
		$header[] = 'Cookie: ASPSESSIONIDCQSCBQTQ=KENHHCCBNJIHOENLHOPPDDEP; visid_incap_427008=QIp7l1y1TDGlqfVwnEOzoDSjQ1UAAAAAQUIPAAAAAAAXvgoGtlHuuAruMaA4ffZ2; incap_ses_260_427008=a9roNtU3BnuYxY1nSbWbAzSjQ1UAAAAAX0bJTMtBKjPzLOpEVxCP4w==';
		$header[] = 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8,UC/145,plugin/1,alipay/un';
		$header[] = 'Connection: keep-alive';
		$header[] = 'X-UCBrowser-UA: dv(HUAWEI G610-T00);pr(UCBrowser/10.4.0.558);ov(Android 4.2.1);ss(360*640);pi(540*960);bt(UC);pm(1);bv(1);nm(0);im(0);sr(0);nt(2);';
		curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
        // 不输出header头信息
        curl_setopt($curl, CURLOPT_HEADER, 0);
        // 伪装浏览器
        //curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.118 Safari/537.36');
        // 保存到字符串而不是输出
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
        $rs = curl_exec($curl);
        curl_close($curl);



展开
收起
爱吃鱼的程序员 2020-06-14 16:21:31 1129 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    cookie不应该提前设置.应该是去第一次抓取页面的时候保存COOKIE不是这个的问题gzip压缩了,并不是乱码的问题回复<aclass='referer'target='_blank'>@wsy5344:请求header中不要加:Accept-Encoding即可。这个怎么解决压缩后的数据,设置好header头就可以解决。<atarget="_blank"rel="nofollow">http://blog.ppsql.net/index.php?keyword=采集

    把$header[]='Accept-Encoding:gzip';去掉


    2020-06-14 16:21:49
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
阿里云栖开发者沙龙PHP技术专场-直面PHP微服务架构挑战-高驰涛 立即下载
PHP安全开发:从白帽角度做安全 立即下载
PHP 2017.北京 全球开发者大会——高可用的PHP 立即下载