爬小说解决乱码问题 附源码_小说网页内 很多不正常显示的汉字-程序员宅基地

技术标签: 爬虫  python  

爬小说解决乱码问题:
今天给朋友爬了一本小说: 虽然没有什么反爬,但是爬取到的内容一直是乱码。
乱码
解决方法: 对获取到的文本编码,不能是‘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)

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

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/brytlevson/article/details/104021922

智能推荐

PTA:矩阵的乘法运算(c++,运算符重载)_线性代数中的矩阵可以表示为一个row*column的二维数组,当row和column均为1时,退化-程序员宅基地

文章浏览阅读4.1k次,点赞6次,收藏24次。线性代数中的矩阵可以表示为一个row*column的二维数组,当row和column均为1时,退化为一个数,当row为1时,为一个行向量,当column为1时,为一个列向量。建立一个整数矩阵类matrix,其私有数据成员如下:int row;int column;int **mat;建立该整数矩阵类matrix构造函数;建立一个 *(乘号)的运算符重载,以便于对两个矩阵直接进行乘法运算;建立输出函数void display(),对整数矩阵按行进行列对齐输出,格式化输出语句如下:cout&l_线性代数中的矩阵可以表示为一个row*column的二维数组,当row和column均为1时,退化

用 nodejs 做反向代理服务器_severhost反代-程序员宅基地

文章浏览阅读3.6w次,点赞5次,收藏18次。时下不少场景,都是申请一个 VPS 主机来托管运行 Web 项目的,小弟我也不例外——购买了一个小型的 CentOS VPS 使用着。在使用的过程中,面临一个问题,就是同一类型的服务端环境还好——但如果是一个 PHP、一个 ASP、 一个 JSP 的三种类型的服务端项目并存着,该怎么分配唯一的 80 端口呢?因为商业 WWW 网站的话,往往只能占用 80 端口,——当然,如果只是做服务的话,如接口服务之类的,使用了其他端口就不会与 80 端口冲突。因此,许多开发者都会面临到 80 端口这个问题,并且实际情_severhost反代

Python模块大全_python 模块-程序员宅基地

文章浏览阅读1.6w次,点赞12次,收藏51次。Python模块_python 模块

windows nexus maven私服搭建-程序员宅基地

文章浏览阅读120次。1.下载nexus相关压缩文件并安装再登录下载地址(1)下载完成后会有一个包含两个文件夹的压缩包。将其一并解压到同一个文件夹之中(2)前往刚刚解压的目录,进入到bin目录,有个nexus.exe的执行文件,但是无法打开,需要使用cmd工具 cmd进入到bin目录后执行: nexus.exe /run(3)等待运行nexus....(让子弹飞30s-60s)(4)打开浏览...

如何自学CS?-程序员宅基地

文章浏览阅读5.7k次,点赞9次,收藏62次。整理 | 非主流出品 | AI科技大本营哪个行业的平均工资最高?计算机。国家统计局的数据显示,2016 年信息传输、软件和信息技术服务业年平均工资为 122478 元,首...

opencv 八邻域轮廓跟踪算法_8邻域 轮廓-程序员宅基地

文章浏览阅读2.4w次,点赞22次,收藏144次。opencv 八邻域轮廓跟踪算法图像处理中,往往需要用到轮廓跟踪解决一些问题,诸如轮廓点的排序得到相邻点。当使用findContours()查找轮廓的时候,我们希望得到Freeman码,但是实验发现并不是一个参数CV_CHAIN_CODE那么回事,网上一大堆的蜻蜓点水,说这个参数可以实现Freeman码生成,我怎么就没搜到一个生成结果,哪怕告诉我怎么才能得带到Freeman码,多方查阅相关书籍_8邻域 轮廓

随便推点

jira 4.2 的详细安装(含破解) (添加GreenHopper安装及破解) [转帖含部分修改]_jira4.2授权码-程序员宅基地

文章浏览阅读1k次。一、安装1.Linux & MySql & JDK安装步骤省略,我使用的是Debian5 + MySql5 + JDK62.下载JIRA4.2,下载地址:http://www.atlassian.com/software/jira/JIRADownloadCenter.jspa注意:选择4.2 standalone版本3.将下载得到的atlassian-jira-enterprise-4.2-standalone.tar.gz文件解压缩到/usr/local/jira目录下面4.在MySql中专将JIRA数_jira4.2授权码

SQL Server详细使用教程(包含启动SQL server服务、建立数据库、建表的详细操作) 非常适合初学者-程序员宅基地

文章浏览阅读10w+次,点赞407次,收藏2.1k次。本文主要详细介绍SQL server2019的简单使用,以《数据库系统概论(第5版)》的第79页—第80页为例,详细介绍如何使用SQL server2019这款数据库软件,包括启动SQL server服务,建立数据库(学生—课程模式S-T),建立课程表等,内容比较简单,容易理解,适合广大初学者了解SQL server的简单使用。不会涉及到复杂的语法知识,如果有也会详细解释的!(下文标红的字请重点关注一下!)_sql server

CWE-484: Omitted Break Statement in Switch(switch省略break)-程序员宅基地

文章浏览阅读200次。ID: 484 类型:基础 结构:简单 状态:草稿 描述程序省略了switch或类似构造中的break语句,导致执行与多个条件相关联的代码。当程序员只打算执行与一个条件相关联的代码时,这可能会导致问题。扩展描述这可能导致关键代码在不应该执行的情况下执行。相关试图与“研究层面”视图(CWE-1000)相关与“开发层面”..._cwe-484

html如何获取表格行数据,js遍历获取表格内数据的方法(必看)-程序员宅基地

文章浏览阅读4k次。本文将介绍如何使用js获取表格内某一单元格的内容,表格由table,tr,td等html标记组成。table表示表格,tr表示行,td表示行中列。1、一般的表格结构如下idname1fdipzone2wing2、遍历表格中所有内容方法首先需要給table加上id,这样方便定位到哪一个表格,例如获取表格行数/*** 获取表格行数* @param Int id 表格id* @return Int*/f..._html获取表格行数

Power Query连接MySQL数据库_ole db 或 odbc 错误 : [datasource.missingclientlibrar-程序员宅基地

文章浏览阅读3.3k次。问题描述:Power Query连接MySQL数据库,导入数据库的表时报错:无法查找固定名称<名称>的数据库访问接口。解决方法:点击桌面左下角“win”图标,找到“所有程序”,选择“MySQL”文件夹,点击MySQL下载器。选择“yes”选择“close”点击“add”逐级展开,选择至“Connector/NET 6.9.9 X86”,点击按钮,然后按默认操..._ole db 或 odbc 错误 : [datasource.missingclientlibrary] mysql: 无法查找

2018.03.18 临汾市游记-程序员宅基地

文章浏览阅读148次。2018.03.18 临汾市游记写在前面首先,Capella 极其擅长记流水账,包括本文。其次,本文中所有并列关系的人名,均按字典序排列。背景临汾一中 Mr_Wolfram 和 poorpool 是 Capella 的 OIer 朋友,Capella 喜欢用信件的方式,对他们传达友好的问候。后来, Capella 在临汾一中 OJ 认识了 AZe 小姐姐。一天,Capella 和 ..._临汾一中oj

推荐文章

热门文章

相关标签