Soukey蜘蛛是采用socket来下载网页源码的。Socket 请求发送采用的是ASCII,接收的时候采用的是默认的编码,查看了一下是gb2312,这个过程中如果网页是gb2312 时,对中文是可以解析出来的,如果是UTF8会出现部分乱码。如果接受也采用ASCII,则无论GB2312或UTF8都会出现乱码。
查了一些资料,在socket send与receive需要使用相同的编码。即如果是UTF8的页面则需要用utf8格式,测试通过。
但此种方式都需要在正式探测页面时首先获取网页的编码(或直接由用户子指定),对Soukey蜘蛛而言并不是最好的方式,所以,此问题暂不进行发布代码的修正,待找到更好的方式后再修正。但请各位已下载的网友知晓此问题,或可以采用这个临时方案。
最后,Soukey蜘蛛当前还很不完善,只是提供了一个思路,如果需要可以在此结构上进行扩充,最近一直在完善Soukey采摘,此工作完成后,会完善Soukey蜘蛛,并作为一个任务类型整合到Soukey采摘中。
谢谢网友提出的此bug,也感谢网友对Soukey蜘蛛的关心。