请问用 Node 的爬虫朋友,有遇到过偶然出现中文变成方块问号字符的情况吗?

2013-05-19 19:14:17 +08:00
 wontoncc
估计是变成坏掉的不完整的UTF-8字符了,求解决方案。

另外,估计不是编码问题,因为出现问题的字符是随机的,并不固定。
5484 次点击
所在节点    Node.js
15 条回复
chemzqm
2013-05-19 19:30:26 +08:00
可能抓到的是gzip版本,设置请求头 Accept-Encoding:deflate
wontoncc
2013-05-19 19:54:14 +08:00
@chemzqm 刚刚测试了一下,还是不行。会不会跟用了 iconv-lite 转码有关?
orzfly
2013-05-19 19:59:23 +08:00
随机的?话说js好像不支持0~0xFFFF之外的字符。
inaction
2013-05-19 20:55:38 +08:00
@wontoncc 对,有些字符没对应,比如 []
inaction
2013-05-19 21:02:15 +08:00
测试:刚才明明发的中文字符:〖〗,变成了[]
skydiver
2013-05-19 21:04:37 +08:00
@inaction v2ex确实会转化这个字符。。。不知是不是L大不喜欢这个符号。。。
wontoncc
2013-05-19 22:24:32 +08:00
@inaction
@orzfly

那请问还有什么处理GBK的方法?
juicy
2013-05-20 14:39:27 +08:00
会不会是你本机缺少相应的字符库,而抓到的数据本身是没问题的?也许在其他有相应字符库的机子上是显示正常的?
wontoncc
2013-05-20 16:14:02 +08:00
@juicy 刚刚测试了一下,并不是这个问题。
而且因为是随机的缘故,本来有些字这次请求完好,下一次请求却坏到了。如果是字库问题应该一直都看不到才对。
juicy
2013-05-20 20:41:07 +08:00
@wontoncc 那会不会是源头就是坏的呢。。。没准用别的语言爬也是这样的结果。。
leafduo
2013-05-20 21:10:03 +08:00
贴代码吧
wontoncc
2013-05-20 22:28:43 +08:00
@leafduo 已经附上了。
wontoncc
2013-05-21 16:50:58 +08:00
@chemzqm
@orzfly
@inaction
@juicy
@leafduo

非常感谢各位,问题已经解决了。请见 APPEND。
juicy
2013-05-21 18:18:14 +08:00
恭喜楼主攻克难题~~~
chemzqm
2013-05-21 20:42:34 +08:00
给他提个issue吧,方便其他人。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/69415

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX