PHP京东商城爬取网页乱码问题解决

7 篇文章 0 订阅
4 篇文章 0 订阅

最近公司要求做天猫和京东的店铺爬取,天猫店铺磕磕碰碰算是出了结果,然而进行到京东时确发现无论是file_get_contents 还是 curl,爬下来的网页总是会是写莫名其妙的文字,并不是常规的乱码,所以判断可能是京东服务器对网页做了处理,首先怀疑是不是被加密了,如果是加密就需要找到加密规则,那这工作就难进行了,最后经过一番资料查找,最后确定是网页进行了gz压缩,编辑器由于打开了二进制文件所以呈现了乱码。

那么既然确定了问题出现的原因,接下来就该寻找解决方案。

搜索出两种解决方案,第一种就是将return的字符进行解码 $return = gzdecode($return); 第二种则是在curl请求时附加 curl_setopt($ch, CURLOPT_ENCODING, 'gzip'); 

两种我都尝试了一下,第一种成功解决乱码,第二种不知为何,添加了之后curl请求回来的内容竟然为空,那么很明显,就用第一种吧

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值