泉州 网站建设,橱柜网站建设公司,二级域名解析ip,谁会建设网站解决方法一#xff1a;使用python的BeautifulSoup来抓取网页然后输出网页标题,但是输出的总是乱码,找了好久找到解决办法,下面分享给大家首先是代码复制代码 代码如下:from bs4 import BeautifulSoupimport urllib2url //www.jb51.net/page urllib2.urlopen(url)soup Beaut…解决方法一使用python的BeautifulSoup来抓取网页然后输出网页标题,但是输出的总是乱码,找了好久找到解决办法,下面分享给大家首先是代码复制代码 代码如下:from bs4 import BeautifulSoupimport urllib2url //www.jb51.net/page urllib2.urlopen(url)soup BeautifulSoup(page,from_encodingutf8)print soup.original_encodingprint (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 urllib2from BeautifulSoup import BeautifulSouppage urllib2.urlopen(//www.jb51.net/);soup BeautifulSoup(page,fromEncodinggb18030)print soup.originalEncodingprint soup.prettify()本文标题: Python BeautifulSoup中文乱码问题的2种解决方法本文地址: http://www.cppcns.com/jiaoben/python/107680.html