爬虫 网页乱码解决之道

解决网页乱码问题

最近在和朋友开发一个行业搜索引擎,

我作完索引那一部分开始作爬虫,

刚开始的时候一切还好,

爬了不少页面,有国内的也有外国的,

然而,当我打开网布看的时候,我吓了一跳,

所有的网页都是乱码,

这是怎么回事,

其实每一个人都知道,

这一定是编码出了问题,但是在哪里改正这一个错误这就成了一个问题,找了不少方法,最后还是用一个完善(自己这样认为,呵呵)的方法解决了这一个问题

最好的解决之道就是当你的蜘蛛收集这一个网页的时候,看一下他的编码

把它的编码给记下来,当你保存页面的时候,你就用这一种方法保存这一个页面就可以了,不知道有没有人对做搜索引擎有兴趣,其实你平常也不会遇到这样的问题,因为当你用浏览器来看网页的时候,你见到乱码的机会是很小的,除非你的系统一个编码文件丢失了,这个文件是在system里边的,并且这一个文件系统还给你备份了,C:\WINDOWS\system32\dllcache下将 mlang.dll 文件复制粘贴到C:\WINDOWS\system32\下即可.

 

但是在作搜索引擎的时候,你得自己去作这些事,

当用c#的时候,在网页返回的时候,有一个类是可以获得他的编码方式的,

就是HttpWebResponse的CharacterSet方法,他是可以得到网页的编码格式的,因此你就根据这一个方式来处理和保存网页就可以了,

还有一点要说明,有的网页是没有写入自己是什么编码的,你得设置一个默认的编码,很简单,你现在在哪里,如果你在America的话,你当然可以是ansic

但是你在中国的话,请一定要记住,中国的编码是gb2312,大小写对你是没有什么影响的,

在网页保存的时候,你要用到一个方法,就是streamWriter方法,他有一种好的指定编码格式,在他的构造函数里指定编码格式,

StreamWriter(string path,bool ut,Encoding youcoding)

好了,一切都搞定了,希望对作搜索的朋友有一点用,同时也希望作搜索的朋友一切学习一下,

转载于:https://www.cnblogs.com/huqizhong/archive/2009/04/11/1433767.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值