python请求,html中文乱码问题

2016-12-29  本文已影响188人  Rokkia

最近闲来无事,在看一部小说,但是很狗血的是用游览器看总是有奇奇怪怪的广告,于是想将其爬下来,慢慢看,于是:

1.引包

import requests
from bs4 import BeautifulSoup as bs 
import re

2.正常操作使用requests请求网络

#请求网络
resp = requests.get(http://*****.html)
#使用BeautifulSoup解析html
#这里是错误出现点
soup = bs(resp.text,'html.parser')
#找到文章内容部分 
tapContent = soup.find('div',id = 'nr')
#打印一下内容
print (tapContent.get_text())

3.问题处理

直接上图:


DF3323CC-FF4C-4065-9E42-757B987CCC96.png

这是什么东东,后来用了很多方法,各种解码
最后发现只需要改一个地方即可

#更正上面的错误方法
soup = bs(resp.content,'html.parser')

这样就可以了

4.下面顺便说一下text与content区别

text返回的是Unicode
content返回的是byte
也就是说content自带一个bytes(bytearray(html, encoding='utf-8'))方法

5.借鉴的文章

http://www.tuicool.com/articles/iqu6jiR
http://blog.chinaunix.net/uid-21843387-id-106015.html

新手一只,欢迎拍砖。
上一篇 下一篇

猜你喜欢

热点阅读