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
新手一只,欢迎拍砖。