最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

PythonBeautifulSoup中文乱码问题的2种解决方法

来源:动视网 责编:小采 时间:2020-11-27 14:30:20
文档

PythonBeautifulSoup中文乱码问题的2种解决方法

PythonBeautifulSoup中文乱码问题的2种解决方法:解决方法一: 使用python的BeautifulSoup来抓取网页然后输出网页标题,但是输出的总是乱码,找了好久找到解决办法,下面分享给大家首先是代码 代码如下:from bs4 import BeautifulSoupimport urllib2url = 'http://www.gxlcms.c
推荐度:
导读PythonBeautifulSoup中文乱码问题的2种解决方法:解决方法一: 使用python的BeautifulSoup来抓取网页然后输出网页标题,但是输出的总是乱码,找了好久找到解决办法,下面分享给大家首先是代码 代码如下:from bs4 import BeautifulSoupimport urllib2url = 'http://www.gxlcms.c


解决方法一:

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


from bs4 import BeautifulSoup
import urllib2

url = 'http://www.gxlcms.com/'
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('http://www.gxlcms.com/');
soup = BeautifulSoup(page,fromEncoding="gb18030")
print soup.originalEncoding
print soup.prettify()

文档

PythonBeautifulSoup中文乱码问题的2种解决方法

PythonBeautifulSoup中文乱码问题的2种解决方法:解决方法一: 使用python的BeautifulSoup来抓取网页然后输出网页标题,但是输出的总是乱码,找了好久找到解决办法,下面分享给大家首先是代码 代码如下:from bs4 import BeautifulSoupimport urllib2url = 'http://www.gxlcms.c
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top