代码如下: import requests from bs4 import BeautifulSoup
url = 'http://www.mnsfz.com/'
r = requests.get(url) soup = BeautifulSoup(r.text, 'lxml') print(soup.title)
输出:
<title>乱码乱码乱码乱码乱码乱码乱码乱码乱码乱码(论坛不能含有特殊字符)</title>网页 charset 为‘ utf-8'
试过 decode('utf-8').encode('gbk') 输出: <built-in method title of str object at 0x03DC14F0>
请教如何输出纯中文字符 ‘美女私房网,美女图片,美女写真,性感美女,清纯少女,私房照,模特写真,模特私房’ 谢谢。
1
sexoutsex2011 2016-07-03 20:41:26 +08:00
小伙有出息。
|
2
aheadlead 2016-07-03 20:48:22 +08:00
(大哥你这个美女私房啥的真是服
|
3
qiaoqinqie 2016-07-03 20:58:43 +08:00
控制台输出吗 那就设置编码
在代码前面加 import sys reload(sys) sys.setfefaultencoding('utf-8') |
4
andmspy OP |
5
andmspy OP 各位大哥,同学们有需求,我必须满足大家的期待,不过小白一枚,只能挑灯夜读,攻克每个难关。
|
6
cdlnls 2016-07-03 21:15:08 +08:00 via Android
|
7
billlee 2016-07-03 21:17:46 +08:00
估计是网页声明的 charset 就有问题,试试这下面几个吧
soup.title.string.encode('utf-8').decode('gbk') soup.title.string.encode('latin-1').decode('gbk') soup.title.string.encode('latin-1').decode('utf-8') |
8
chevalier 2016-07-03 21:34:18 +08:00
r = requests.get(url)
这个 r 对象,有 encoding 方法,按照网页 charset 试一下 r.encoding('utf8') |
9
ioven 2016-07-03 21:39:02 +08:00
貌似 requests 自动解码出错,手动解码没问题
py3 , r.content.decode('utf-8') |
10
mingyun 2016-07-03 22:47:58 +08:00
r = requests.get(url)
r.encoding = r.apparent_encoding |
11
chimingphang 2016-07-03 22:54:11 +08:00
我知道该同学挑灯夜战,为日后抓种子造福全班男同学努力中
|
12
liangmishi 2016-07-04 02:15:32 +08:00 via Android
加一句 r.encoding="utf-8"
就完事了 |
13
aitaii 2016-07-04 08:48:21 +08:00
可以,这很美女私房照。
|
14
playniuniu 2016-07-04 09:11:04 +08:00
你先看看 r.text 乱码吗
|
15
singer 2016-07-04 12:36:50 +08:00
import requests from bs4 import BeautifulSoup
url = 'http://www.mnsfz.com/' r = requests.get(url) r.encoding = 'utf-8' soup = BeautifulSoup(r.text, 'lxml') print(soup.title) |
16
jiangbingo 2016-07-04 14:34:38 +08:00
码的问题好解决,阅遍天下XX自然无码。
|
17
andmspy OP 谢谢各位大哥的回答,小弟代表全班同学感谢大家。:)
|
18
sqlfeng 2016-07-06 09:43:18 +08:00
import sys
reload(sys) sys.setfefaultencoding('utf-8') get 之后加 r.encoding = 'utf-8' |
19
GreatMartial 2016-07-06 21:06:59 +08:00
小伙子,小心到时候同学的家长找到你...
|
20
Owenjia 2016-07-08 23:47:34 +08:00
不推荐使用 setfefaultencoding ,这里用 BeautifulSoup(res.content) 应该可以正常显示的。
FYI: http://stackoverflow.com/questions/3828723/why-should-we-not-use-sys-setdefaultencodingutf-8-in-a-py-script |
21
practicer 2016-07-09 13:27:17 +08:00
小伙子,有出息
|
22
necomancer 2016-07-29 07:46:51 +08:00
print(soup.title.string.encode('latin-1').decode('utf-8')),编码不对啊
美女私房照_美女,写真,清纯,少女_私房照|美女私房照_美女写真,少女清纯写真照 |