刚学python,抓中文网页遇到编码的问题,怎么转换也不行
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了刚学python,抓中文网页遇到编码的问题,怎么转换也不行相关的知识,希望对你有一定的参考价值。
可以用现成的框架,比如scrapy,已经帮你处理了编码的问题。
如果一定要自己写的话,可以先看一下你抓取站点的编码,一边页面里都会有,比如百度知道里的:
<meta http-equiv="content-type" content="text/html;charset=gbk" />说明是gbk编码。
你看下这样写encoding='gb18030'
如果没有帮到你请追问
python抓网页的编码问题
小弟刚接触python,抓第一个网页就过不去编码这个坎`请高手赐教,代码如下:
#coding = gb2312
import urllib2
from BeautifulSoup import BeautifulSoup
outfile = open("lsxk.txt", "w")
for i in range(1,2): #第一页
url= "http://bbs.scu.edu.cn/wForum/disparticle.php?
boardName=SCUExpress&ID=1735295349&pos=-1&page=%d" % i
doc = urllib2.urlopen(url).read()
soup = BeautifulSoup(doc,fromEncoding="gb2312")
print >> outfile,doc #输出到文本
outfile.close()
抓到txt中的内容是中文,但使用beautifulSoup后就乱码了`
BS的文档说使用soup = BeautifulSoup(doc, fromEncoding="gb2312"),
还是不能正确编码.print出来报错是gb2312和utf-8不能编码网页中的某些字符.
单独使用编码也不能解决:
import codecs
print open("lsxk.txt").read().decode("utf-8")
可能说的不是很清楚`以上是我遇到的问题们,还请高手帮帮忙,不甚感谢!
import urllib2
from BeautifulSoup import BeautifulSoup
f = urllib.urlopen('http://www.baidu.com')
html=f.read()
f.close()
soup = BeautifulSoup()
soup.feed(html)
print soup 参考技术A BeautifulSoup() 不能直接 指定 编码
还有编码尽量 用GB18030 不要用GBK
以上是关于刚学python,抓中文网页遇到编码的问题,怎么转换也不行的主要内容,如果未能解决你的问题,请参考以下文章
刚学Python,遇到No Python Interpreter configured for the project,怎么解决?