本人特别爱看网络小说,但是呢,有些小说网站的弹窗广告啊、悬浮广告太烦人,正好最近在研究Python,就来试试利用Python把小说站的小说爬下来,并保存到txt文件里。这样就可以直接使用手机打开txt来看了。并且呢,我也能熟悉利用python抓取文本数据的方法。

以爬取靠谱小说网的《伏天氏》这本小说的章节内容为例,目标url:http://www.kpxsw.com/0_479.html

第一步:选取文章列表其中某一章,检查网页,可以找到这本小说所有章节的链接和名称。
写出xpath表达式提取出href里的内容://div[@id=“list”]/dl/dd/a/@href
分析网页可得,提取出来的内容里每个元素前面应加上 http://www.kpxsw.com 得到的才是是每个章节真正的链接

第二步:接下来编写抓取章节的代码,抓取所有章节的链接,代码如下:

def get_urls():url = "http://www.kpxsw.com/0_479.html"response = requests.get(url, headers=headers)response.encoding = 'utf-8'html = etree.HTML(response.text)# 所有章节的url列表url_list = ['http://www.kpxsw.com' + x for x in html.xpath('//div[@id="list"]/dl/dd/a/@href')]return url_list

第三步:抓取每章的章节名称和章节内容,保存到txt文件,具体代码如下:

def get_text(url):rep = requests.get(url, headers=headers)rep.encoding = 'utf-8'dom = etree.HTML(rep.text)name = dom.xpath('//div[@class="bookname"]/h1/text()')[0]text = dom.xpath('//div[@id="content"]/text()')with open(path + f'{name}.txt', 'w', encoding='utf-8') as f:for con in text:f.write(con)print(f'{name} 下载完成')

OK,通过上面三步,就利用Phthon抓取《伏天氏》小说,并保存txt文件成功。你也可以通过此方法在靠谱小说网http://www.kpxsw.com 抓取其他小说,保存成txt文件来看。

完整代码如下:

import requests
from lxml import etree
import time
import randompath = r'D:\test\伏天氏\ '
headers = {"Referer": "http://www.kpxsw.com/0_479.html","User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.89 Safari/537.1"
}def get_urls():url = "http://www.kpxsw.com/0_479.html"response = requests.get(url, headers=headers)response.encoding = 'utf-8'html = etree.HTML(response.text)# 所有章节的url列表url_list = ['http://www.kpxsw.com' + x for x in html.xpath('//div[@id="list"]/dl/dd/a/@href')]return url_listdef get_text(url):rep = requests.get(url, headers=headers)rep.encoding = 'utf-8'dom = etree.HTML(rep.text)name = dom.xpath('//div[@class="bookname"]/h1/text()')[0]text = dom.xpath('//div[@id="content"]/text()')with open(path + f'{name}.txt', 'w', encoding='utf-8') as f:for con in text:f.write(con)print(f'{name} 下载完成')def main():urls = get_urls()for url in urls:get_text(url)time.sleep(random.randint(1, 3))if __name__ == '__main__':main()

运行程序后,抓取结果如下:

如何利用Python爬虫爬取小说网站并保存到txt文件相关推荐

  1. python爬虫: 爬取boss网站数据 保存到mysql

    爬取boss数据并保存到mysql boss的反爬虫控制尤其恶心 cookies大概用3次左右就不能用了 所以爬取不了太多东西 只可用来学习 等学习完逆向爬虫课程 再来挑战挑战 example.py ...

  2. python爬虫爬取小说网站并转换为语音文件

    前言 作为一个技术宅,本着为眼睛着想的角度考虑,能少看屏幕就尽量少看屏幕,可是又是一个小说迷,那就开动脑筋爬一下小说转换成语音来听书吧 第一章:爬取小说文件 把目标定在小说存储量比较大的网站:起点中文 ...

  3. 利用Python爬虫抓取小说网站全部文章

    我们先来选定爬取目标,我爬取的网站是https://www.17k.com/ ,一些大型的网站(如起点.豆瓣等)做了反爬虫的部署,这会大大增加我们抓取的难度,所以尽量还是选一些不那么热门的网站. 爬虫 ...

  4. python 小说cms系统_「博文小说网」Python爬虫爬取小说网站 - seo实验室

    博文小说网 #!/usr/bin/env Python # -*- coding: utf-8 -*- # @Author : Woolei # @File : book136_singleproce ...

  5. python 爬取HTML内容并保存到txt文件内

    # @UpdateTime : 2020-12-08 16:53 # @Author : wz # @File : Get_WebDetails # @Software: PyCharm # @use ...

  6. python selenium登录企名片,筛选各种条件,爬虫爬取融资信息,保存到csv文件

    要点:1.利用datatime构建 日期,设定格式 2.利用selenium 登录账号,input等待需要输入的验证码 3.可以利用scrapy的Selector,替代beautifysoup 得到想 ...

  7. 【爬虫】利用Python爬虫爬取小麦苗itpub博客的所有文章的连接地址并写入Excel中(2)...

    [爬虫]利用Python爬虫爬取小麦苗itpub博客的所有文章的连接地址并写入Excel中(2) 第一篇( http://blog.itpub.net/26736162/viewspace-22865 ...

  8. python爬网站数据实例-利用Python爬虫爬取NBA数据功能实例分享

    Python实现爬虫爬取NBA数据功能示例 本文实例讲述了Python实现爬虫爬取NBA数据功能.分享给大家供大家参考,具体如下: 爬取的网站为:stat-nba.com,这里爬取的是NBA2016- ...

  9. Python爬虫—爬取小说名著

    周末闲来无事,本来想看一看书的,结果也没看进去(RNG输的我真是糟心...) 于是就用python写了一个爬虫,来爬取小说来看,防止下次还要去网上找书看. 我们先找一个看名著的小说网 我们打开http ...

  10. 利用Python爬虫爬取网页福利图片

    最近几天,学习了爬虫算法,通过参考书籍,写下自己简单爬虫项目: 爬取某福利网站的影片海报图片 环境:anaconda3.5+spyder3.2.6 目录 1.本节目标 2.准备工作 3.抓取分析 4. ...

最新文章

  1. 什么是初效过滤器_聊聊中效过滤器的哪些事?
  2. html 图片 保持长宽比,实现图片在页面中宽高一直保持16:9比例的方法
  3. 【每日一题】7月13日题目精讲—Kingdom
  4. Oracle 练习P297 131026 PL/SQL块程序
  5. As-Conformal-As-Possible Surface Registration
  6. 基于ASP.NET AJAX的WebPart开发与部署
  7. ubuntu搭建xv6环境
  8. eviews建立时间序列模型_Eviews软件做时间序列分析?
  9. 暴力猴插件的安装及使用
  10. Opengl ES Glew库 ----- By YDD的铁皮锅
  11. 汇编中 rep指令 和 stos指令ollydbg图解
  12. pad 锁定屏幕显示方向为竖屏正方向
  13. java浪漫代码_程序员表白代码,用过的人都找到了对象...
  14. 华为css与堆叠,华为堆叠配置
  15. ROC:Receiver operating characteristic Curve接受者操作特征的理解
  16. 扫描格式的pdf文件怎样进行识别
  17. Windows 11打印测试页
  18. GEA 4.1234 矩阵 矢量 点 四元数
  19. Linux运维与架构工程实践
  20. 基于Hyper-V、centos、搭建宝塔Linux结合gitLab实现前端自动化部署

热门文章

  1. python百万邮件群发软件_用python来群发邮件的程序代码
  2. 【Tools】HP/惠普v285w 量产工具
  3. QT图形显示和处理7
  4. 计算机应用二进制原因,计算机中采用二进制的主要原因是什么
  5. 视频编解码学习之四:视频处理及编码标准
  6. ubuntu修改开机密码
  7. ERA5气象数据 :数据中相对湿度、边界层高度、温度、风向、地面气压等参数下载详细教程
  8. RecyclerView实现吸顶效果---ItemDecoration
  9. Android使用FFmpeg 解码H264并播放(二)
  10. Java代码计算2019新个税