如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留链接信息。

在抓取这个圈里面来说吧,拿到的html代码是乱码的概率,还是有的。对于querylist来说,在最开始的时候,推出了函数叫做removeHead(),用来解决乱码问题。但在本文中,苏南大叔说的是另外一个querylist函数叫做encoding()。同时,大家请不要忘记:php原生的iconv也是用来解决乱码问题的。

QueryList 使用 encoding() 进行编码转换,解决乱码问题 - querylist-encoding
QueryList 使用 encoding() 进行编码转换,解决乱码问题(图1-1)

encoding函数原型

QueryList encoding(string $outputEncoding,string $inputEncoding = null)

对html进行编码转换,解决乱码问题。

  • 第一个参数$outputEncoding是输出字符集编码,一般来说就是个固定模式的UTF-8了。
  • 第二个参数$inputEncoding指的是输入字符集编码,这个就是大家凭借经验,自己设置的了。也许GB2312是你的选择,不过,具体问题请具体分析。如果不确定,第二个参数也可以不设置。

使用范例

范例一:

$data = QueryList::get('https://top.etao.com')->encoding('UTF-8')->find('a')->texts();
print_r($data);

范例二:

$data = QueryList::rules([
    'txt' => ['a','text']
])->get('https://top.etao.com')->encoding('UTF-8','GB2312')->query()->getData();
print_r($data);

总结

解决乱码的方式很多,本文中的encoding()方法,也只是针对querylist所特有的一个方法。更多querylist的编程经验,请支持苏南大叔的querylist系列文章,点击下面的链接即可。

 【源码】代码片段及相关软件点此获取

 【querylist】秘籍文章入口,仅传授于有缘之人   querylist

本站的忠实读者小伙伴,正在阅读下面这些文章:

欢迎转载传播本篇原创文章,转载请保留链接及作者信息。
欢迎指正文字或逻辑错误,将会择优在文末列出您的信息。
本站采用创作共用版权协议, 要求署名、非商业用途和相同方式共享。
转载本站内容必须也遵循“署名-非商业用途-相同方式共享”的创作共用协议。
未经许可,规模化镜像抄袭本站内容的行为,将会根据有关法律法规进行维权。
程序如此灵动~》下所有原创文章,如被用于商业用途,请您按规定支付稿费。

苏南大叔需要你的支持

感谢您的打赏,让我更有动力,将更多精彩教程文章,呈现给大家!谢谢!