Soukey蜘蛛是采用socket来下载网页源码的。Socket 请求发送采用的是ASCII,接收的时候采用的是默认的编码,查看了一下是gb2312,这个过程中如果网页是gb2312 时,对中文是可以解析出来的,如果是UTF8会出现部分乱码。如果接受也采用ASCII,则无论GB2312或UTF8都会出现乱码。
查了一些资料,在socket send与receive需要使用相同的编码。即如果是UTF8的页面则需要用utf8格式,测试通过。
但此种方式都需要在正式探测页面时首先获取网页的编码(或直接由用户子指定),对Soukey蜘蛛而言并不是最好的方式,所以,此问题暂不进行...
[更多...]