关于爬虫乱码有很多各式各样的问题,这里不仅是中文乱码,编码转换、还包括一些如日文、韩文 、俄文、藏文之类的乱码处理,因为解决方式是一致的,故在此统一说明。
网络爬虫出现乱码的原因
源网页编码和爬取下来后的编码格式不一致。
如源网页为gbk编码的字节流,而我们抓取下后程序直接使用utf-8进行编码并输出到存储文件中,这必然会引起乱码 即当源网页编码和抓取下来后程序直接使用处理编码一致时,则不会出现乱码; 此时再进行统一的字符编码也就不会出现乱码了
注意区分
乱码的解决方法
确定源网页的编码A,编码A往往在网页中的三个位置
1.http header的Content-Type
获取服务器 header 的站点可以通过它来告知浏览器一些页面内容的相关信息。 Content-Type 这一条目的写法就是 "text/html; charset=utf-8"。
2.meta charset
3.网页头中Document定义
Tags | 热门标签RankList | 热门文章
- 1PubNub安全反对某人逆向工程Android应用程序
- 2Symfony控制器中动作的含义
- 3如何在调用moveTaskToBack()时禁用Activity的动画?
- 4如何生成具有特定长度限制的所有可能组合中的字母?
- 5在Luigi Orchestrator中并行化任务
- 6使用Postgresql进行Python多线程处理
- 7在Android Studio中更改SDK位置:目录位置中的空格
- 8用于聊天应用的GCM和App Engine
- 9在定义的持续时间之后,EC2 linux用户创建帐户到期
- 10如何从设置json到mvc 6视图获取数据?
- 11C#中的md5(wordpress)密码加密
- 12NSURLConnection的奇怪错误代码4294966295
- 13运行时错误不幸的是应用已停止?
- 14WP编辑器 - wp_editor()在ajax调用上没有正确显示
- 15tensorflow创建不同长度的掩模
- 16如何使用GreenSock同时为2个或更多元素制作动画?
- 17线程"main"中的异常org.hibernate.UnknownEntityTypeException:无法找到persister
- 18nodes passport错误:未知的身份验证策略"local-login"
- 19多任务时不调用traitCollectionDidChange
- 20将表单输入值附加到操作URL作为路径