今天看了看有关lxml的视频,看的我的那个心神荡漾啊,当下关掉视频准备自己实际操作一番,但是当我开始操作的时候意料不到的情况出现了。因为视频教学里测试的是一段文本,用文本来替代实际网页源码,但是我请求的小说网站却是gbk编码的,自己搞了好久一直没解决用etree.tostring()输出时中文乱码的问题,直到刚才终于在自己的百度+尝试下解决了这一问题。老规矩,代码如下:
import requests
from lxml import etree
headers = {"user-agent": "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Mobile Safari/537.36"}
url = 'http://www.biquyun.com/0_613/'
response_html = requests.get(url,headers = headers).content.decode('gbk')
response_html2 = etree.HTML(response_html)
response_html1 = etree.tostring(response_html2, encoding="gbk", pretty_print=True, method="html")
print(response_html1.decode('gbk'))
如有错误或不足的地方还请大家提出,感激不尽!