bs4 乱码_Python BeautifulSoup中文乱码问题的2种解决方法
解决方法一:
使用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种解决方法相关推荐
- 彻底搞懂 python 中文乱码问题_Python BeautifulSoup中文乱码问题的2种解决方法
解决方法一: 使用python的BeautifulSoup来抓取网页然后输出网页标题,但是输出的总是乱码,找了好久找到解决办法,下面分享给大家 首先是代码 from bs4 import Beauti ...
- python列表存储乱码_python 列表中文乱码
今天在学习python列表的时候遇到中文乱码问题,如下: # -*- coding: UTF-8 -*- print "列表" list1 = ['张三',"李四&quo ...
- python写入mysql乱码_python MYsql中文乱码
以前用php连mssqy时也经常出现中文乱码(中文变问号)的问题,那时就明白是编码没设置好导航,现在的Python连mssql数据库也同样出现这问题,问题一样,解决的办法当然也会相似,现在我们来看看解 ...
- jmeter对乱码如何处理_JMeter中文乱码的解决
对于JMeter中文乱码分为两部分: 1.请求(request):由于引用了csv文件当csv文件编码与JMeter不统一可能造成服务器收到数据的中文乱码 2.返回(response):由于服务器返回 ...
- 火狐浏览器中文乱码怎么办 Firefox中文乱码解决方法
核心提示:最近好多网友反映在使用火狐浏览器的时候,网页显示乱码的情况,这种问题通常是由于我们浏览器语言的设置有关系,下面小编就为大家分析下具体的解决办法,希望对大家有所帮助. 火狐浏览器中文乱码怎么办 ...
- tomcat8日志乱码_Tomcat日志中文乱码怎么解决?
Linux系统中文语言乱码,是很多小伙伴在开始接触Linux时经常遇到的问题,而且当我们将已在Wndows部署好的项目搬到Linux上运行时,Tomcat的输出日志中文全为乱码(在Windows上正常 ...
- keil5中文乱码,编译中文乱码,串口调试助手接收中文乱码
keil5中文乱码,编译中文乱码,串口调试助手接收中文乱码 keil5的文本编辑器输入中文乱码 一般更改编码就可以解决 打开设置界面 更改编码,可以是GBK码,也可以是UTF-8编码 编辑器中文没有乱 ...
- HTML编程出现乱码,html中文为什么会乱码?html中文乱码怎么解决?
html中文乱码一般是因为编码格式不匹配.或没有设置编码造成的.解决方法:1.在HTML文件头中使用meta标签把HTML编码方式设置为utf-8:2.使用网页编辑器打开文件,设置统一的编码格式. 很 ...
- 为什么html中文是乱码?html中文乱码怎么解决
很多程序员在开发网站的时候,都会遇到html文件出现乱码,那么,为什么html中文是乱码?html乱码怎么造成的?html中文乱码怎么解决呢,下面php高手为您解决这些问题. 打造全网web前端全栈资 ...
最新文章
- 交换机和路由器的区别_路由器与交换机的区别?
- 这是一个测试rss的内容哦
- 关于Git你必须知道的
- HDU 4917 Permutation(拓扑排序 + 状压DP + 组合数)
- MySQL Event
- python重定向到socket_python套接字流重定向实例汇总
- Android 系统性能优化(57)---MTK 平台开关机、重启时间优化
- 误删微软应用商店怎么装回来
- 黑群晖drive套件的使用教程
- 自控力 笔记10 结语 完结篇
- linux 函数式编程,理解函数式编程_Linux编程_Linux公社-Linux系统门户网站
- 三种嵌入式操作系统比较和分析
- unbuntu20.0.4 显卡驱动安装,nividia-smi无效
- swapidc不能连接到主机_kangle easypanel对接SWAP IDC虚拟主机销售平台完整教程 (linux)...
- 医学图像配准中的深度学习综述论文解读
- “赋能”企业,数加服装ERP智助企业乘风破浪
- 系统集成十大项目管理(1)
- 如何计算股票程序化交易系统的收益率?
- Pandas操作02
- ThreadLocal 面试夺命11连问
热门文章
- scala 字段覆盖_Scala中的字段覆盖
- 第 5-1 课:线程与死锁 + 面试题
- 面试突击第 3 期 | Redis 如何实现查询附近的人?视频实战版
- java49_java培训 java49条基础知识
- Xshell连接远程Linux服务器失败Could not connect to ‘192.xxx.xx.xxx‘ (port 22): Connection failed.
- 思科CCNA第二学期期末考试答案
- android开发基本知识,Android应用开发基本知识点汇总
- 怎么把项目的数据上传到服务器,怎么把sql数据库上传到云服务器
- idea启动tomcat没有加载项目_震惊!我三步就搞定了 Tomcat 源码环境搭建!
- python 全局变量使用报错没有定义_Python变量作用域代码解析