爬小说解决乱码问题 附源码

爬小说解决乱码问题: 今天给朋友爬了一本小说: 虽然没有什么反爬,但是爬取到的内容一直是乱码。 解决方法: 对获取到的文本编码,不能是‘gbk’ 也不能是’utf-8’ response = requests.get(url, headers).text.encode(‘iso-8859-1’) 源代码:

import requests
from lxml import etree
import time

headers = {
          
   
    user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36,
    Host: www.xbiquge.la,
    Referer: http://www.xbiquge.la/13/13959/,
}

url = "http://www.xbiquge.la/13/13959/"
response = requests.get(url, headers).text
# print(response)

res = etree.HTML(response)
hrefs_list = res.xpath(//dl//dd/a/@href)
# print(hrefs_list)

for href in hrefs_list:
    url = "http://www.xbiquge.la"+href
    print(url)

    response = requests.get(url, headers).text.encode(iso-8859-1)
    res = etree.HTML(response)
    title = res.xpath(//div[@class="bookname"]/h1/text())[0]
    content = res.xpath(//div[@id="content"]//text())
    content_list = []
    for text in content:
        content_list.append(text)
    with open(./小说 圣墟/+title + .txt, w+, encoding=utf-8)as f:
        content = .join(content_list)
        print(正在保存 + title)
        f.write(content)
    time.sleep(0.3)

代码没有任何反爬。只是给小白看的。

经验分享 程序员 微信小程序 职场和发展