phpQuery采集乱码问题解决方案
今天写了一个采集程序,去网上查了查,phpQuery比较好用(没用过啊),就下来试试。
结果,好用是好用(曾经用curl写了一个采集程序,采集某汽车网站所有品牌车系车型,当时没写过爬虫,因为捉急也没考虑其它方法,所有的数据都是正则匹配出来的,泪~~~)
貌似偏题了啊。
好用是好用,就是采集下来的内容是特么乱码啊。
去网上找了好久,最终得到一个略靠谱的解释,和循着这个解释能得到结果的答案。
原因是phpQuery认不清目标网页是什么编码,即找不到meta属性的时候,会默认转换成iso-8859-1的格式。
所以乱码么,需要先从iso-8859-1的格式转换成utf-8的格式,再转换成GBK的格式。
就能得到满意的结果了。
如下:
$t = pq("h1#h1title")->text();
$t = mb_convert_encoding($t,"ISO-8859-1","utf-8");
$t = mb_convert_encoding($t,"utf-8","GBK");
echo $t;
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
copyright © 2008-2019 亿联网络 版权所有 备案号:粤ICP备14031511号-2