问题是这样的,网页的数据应该是'utf-8'编码,这个可以在网页的head上面看得到,然后你爬网页的时候会把它转化成Unicode,出问题的是在print()这儿,对于print()这个函数,他需历雀要把内容转化为'gbk'编码才能显示出来. 然后解决办法是这样,你在转化后的Unicode编码友烂吵的string后面好侍,加上 .encode('GBK','ignore').decode('GBk') 也就是先用gbk编码,忽略掉非法字符,然后再译码,是不是很有道理 应该是这样的,因为我和你遇到同样的问题,现在解决了
在Python自带的交互式模式下编辑,交互式下,一行只能放一段代码import requests , 这一行要和下面你定义毁败的函纤敬颤数隔开为两段代码
也就是import requests 要按回车键,然后在新的【>>>】开始处再输入你定义的函数代码
一些网页可以用Python的urllib来抓取内容,基本上没有问题
但是有的网页内容在浏览器看到的和抓取的稿茄有很大区别,抓取的基本上是框架实质内容没有
比如必应词典,http://dict.bing.com.cn/#good
方法正如楼下所说,这个问题是可以解升埋决的:
# -*- coding: utf8 -*-
a='\xa0ji!r-\n--a\吵宴蚂u30fbn1he海流llo@23\xb6既,然'
x=a.encode('gbk','ignore')
print(x)
print(x.decode('gbk'))
res:
ji!r-
--an1he海流llo@23既,然
此时祥盯成功在终端输出。至于原理,xhkczxzz解释的非常清楚了
你确定该网页是GBK编码的吗?还是UTF8编码的?
试试把GBK换成UTF8看看。