解决方法一:

使用python的BeautifulSoup来抓取网页然后输出网页标题,但是输出的总是乱码,找了好久找到解决办法,下面分享给大家

首先是代码

复制代码 代码如下:

from bs4 import BeautifulSoup

import urllib2

url = '//www.jb51.net/'

page = urllib2.urlopen(url)

soup = BeautifulSoup(page,from_encoding="utf8")

print soup.original_encoding

print (soup.title).encode('gb18030')

file = open("title.txt","w")

file.write(str(soup.title))

file.close()

for link in soup.find_all('a'):

print link['href']

在刚开始测试的时候发现,虽然输出是乱码的,但是写在文件里面却是正常的.然后在网上找了找解决办法才发现

print一个对象的逻辑:内部是调用对象的__str__得到对应的字符串的,此处对应的是soup的__str__ 而针对于soup本身,其实已经是Unicode编码,所以可以通过指定__str__输出时的编码为GBK,以使得此处正确显示非乱码的中文

而对于cmd:(中文的系统中)编码为GBK,所以只要重新编码为gb18030就可以正常输出了

就是下面这行代码

复制代码 代码如下:

print (soup.title).encode('gb18030')

解决方法二:

BeautifulSoup在解析utf-8编码的网页时,如果不指定fromEncoding或者将fromEncoding指定为utf-8会出现中文乱码的现象。

解决此问题的方法是将Beautifulsoup构造函数中的fromEncoding参数的值指定为:gb18030

复制代码 代码如下:

import urllib2

from BeautifulSoup import BeautifulSoup

page = urllib2.urlopen('//www.jb51.net/');

soup = BeautifulSoup(page,fromEncoding="gb18030")

print soup.originalEncoding

print soup.prettify()

本文标题: Python BeautifulSoup中文乱码问题的2种解决方法

本文地址: http://www.cppcns.com/jiaoben/python/107680.html

bs4 乱码_Python BeautifulSoup中文乱码问题的2种解决方法相关推荐

  1. 彻底搞懂 python 中文乱码问题_Python BeautifulSoup中文乱码问题的2种解决方法

    解决方法一: 使用python的BeautifulSoup来抓取网页然后输出网页标题,但是输出的总是乱码,找了好久找到解决办法,下面分享给大家 首先是代码 from bs4 import Beauti ...

  2. python列表存储乱码_python 列表中文乱码

    今天在学习python列表的时候遇到中文乱码问题,如下: # -*- coding: UTF-8 -*- print "列表" list1 = ['张三',"李四&quo ...

  3. python写入mysql乱码_python MYsql中文乱码

    以前用php连mssqy时也经常出现中文乱码(中文变问号)的问题,那时就明白是编码没设置好导航,现在的Python连mssql数据库也同样出现这问题,问题一样,解决的办法当然也会相似,现在我们来看看解 ...

  4. jmeter对乱码如何处理_JMeter中文乱码的解决

    对于JMeter中文乱码分为两部分: 1.请求(request):由于引用了csv文件当csv文件编码与JMeter不统一可能造成服务器收到数据的中文乱码 2.返回(response):由于服务器返回 ...

  5. 火狐浏览器中文乱码怎么办 Firefox中文乱码解决方法

    核心提示:最近好多网友反映在使用火狐浏览器的时候,网页显示乱码的情况,这种问题通常是由于我们浏览器语言的设置有关系,下面小编就为大家分析下具体的解决办法,希望对大家有所帮助. 火狐浏览器中文乱码怎么办 ...

  6. tomcat8日志乱码_Tomcat日志中文乱码怎么解决?

    Linux系统中文语言乱码,是很多小伙伴在开始接触Linux时经常遇到的问题,而且当我们将已在Wndows部署好的项目搬到Linux上运行时,Tomcat的输出日志中文全为乱码(在Windows上正常 ...

  7. keil5中文乱码,编译中文乱码,串口调试助手接收中文乱码

    keil5中文乱码,编译中文乱码,串口调试助手接收中文乱码 keil5的文本编辑器输入中文乱码 一般更改编码就可以解决 打开设置界面 更改编码,可以是GBK码,也可以是UTF-8编码 编辑器中文没有乱 ...

  8. HTML编程出现乱码,html中文为什么会乱码?html中文乱码怎么解决?

    html中文乱码一般是因为编码格式不匹配.或没有设置编码造成的.解决方法:1.在HTML文件头中使用meta标签把HTML编码方式设置为utf-8:2.使用网页编辑器打开文件,设置统一的编码格式. 很 ...

  9. 为什么html中文是乱码?html中文乱码怎么解决

    很多程序员在开发网站的时候,都会遇到html文件出现乱码,那么,为什么html中文是乱码?html乱码怎么造成的?html中文乱码怎么解决呢,下面php高手为您解决这些问题. 打造全网web前端全栈资 ...

最新文章

  1. 交换机和路由器的区别_路由器与交换机的区别?
  2. 这是一个测试rss的内容哦
  3. 关于Git你必须知道的
  4. HDU 4917 Permutation(拓扑排序 + 状压DP + 组合数)
  5. MySQL Event
  6. python重定向到socket_python套接字流重定向实例汇总
  7. Android 系统性能优化(57)---MTK 平台开关机、重启时间优化
  8. 误删微软应用商店怎么装回来
  9. 黑群晖drive套件的使用教程
  10. 自控力 笔记10 结语 完结篇
  11. linux 函数式编程,理解函数式编程_Linux编程_Linux公社-Linux系统门户网站
  12. 三种嵌入式操作系统比较和分析
  13. unbuntu20.0.4 显卡驱动安装,nividia-smi无效
  14. swapidc不能连接到主机_kangle easypanel对接SWAP IDC虚拟主机销售平台完整教程 (linux)...
  15. 医学图像配准中的深度学习综述论文解读
  16. “赋能”企业,数加服装ERP智助企业乘风破浪
  17. 系统集成十大项目管理(1)
  18. 如何计算股票程序化交易系统的收益率?
  19. Pandas操作02
  20. ThreadLocal 面试夺命11连问

热门文章

  1. scala 字段覆盖_Scala中的字段覆盖
  2. 第 5-1 课:线程与死锁 + 面试题
  3. 面试突击第 3 期 | Redis 如何实现查询附近的人?视频实战版
  4. java49_java培训 java49条基础知识
  5. Xshell连接远程Linux服务器失败Could not connect to ‘192.xxx.xx.xxx‘ (port 22): Connection failed.
  6. 思科CCNA第二学期期末考试答案
  7. android开发基本知识,Android应用开发基本知识点汇总
  8. 怎么把项目的数据上传到服务器,怎么把sql数据库上传到云服务器
  9. idea启动tomcat没有加载项目_震惊!我三步就搞定了 Tomcat 源码环境搭建!
  10. python 全局变量使用报错没有定义_Python变量作用域代码解析