当前位置: 首页 > news >正文

Python爬虫—教你用Python爬取小说,小白也能操作(附源码)

基于requests库编写的爬虫,目标小说网站https://www.bq46.cc/,类似的小说网站殊途同归,均可采用本文方法爬取。

目标网站:传送门

本文的目标书籍:《重生之不负韶华》

  • Python+PyCharm下载及安装包及活码都已打包了,源码可👇👇

Python大礼包:《2024年最新Python全套学习资料包】免费领取

基本思路

网络爬虫的工作实际上主要分为三个部分:

  • 获取网页内容,通过requests库实现;
  • 解析网页内容,得到其中我们想要的章节,
  • 将解析出的内容储存到文本文档中;

 一、运行效果步骤

1.代码运行演示
(代码编写完毕,右键运行代码)
在这里插入图片描述

2.运行结果如下,

  • 需要找到具体的书面ID才能进行爬取

3.打开想要看的小说页面
(复制小说网址和数字)

 4.粘贴在书名ID这里点击回车键

  • 这里网址也要进行修改
  • 再把数字数字ID粘贴上去按回车键

这样就下载完成可进行离线观看了 ,每个章节也会在后台文件夹中生成章节

二、代码展示


请求网页内容

一、导入模块

"""
[使用模块]: requests >>> pip install requests        <第三方模块>parsel >>> pip install parsel            <第三方模块>prettytable >>> pip install prettytable  <第三方模块>

二、获取小说的标题及小说目录的href

# print(html_data)
selector_2 = parsel.Selector(html_data)
divs = selector_2.css('.listmain dd')
for div in divs:title = div.css('a::text').get()href = div.css('a::attr(href)').get()url = 'https://www.bqg70.com' + href

三、用for循环遍列小说目录,并获取小说正文

for div in divs:title = div.css('a::text').get()href = div.css('a::attr(href)').get()url = 'https://www.bqg70.com' + hreftry:response = requests.get(url=url, headers=headers)selector = parsel.Selector(response.text)# getall 返回的是一个列表 []book = selector.css('#chaptercontent::text').getall()book = '\n'.join(book)# 数据保存

四、保存小说 

  with open(filename + title + '.txt', mode='a', encoding='utf-8') as f:f.write(book)print('正在下载章节:  ', title)except Exception as e:print(e)

本期爬取小说就讲到这里

完整小说源码和Python学习资料
扫描下方二维码免领取源码还有案例↓ ↓ ↓
 


最后这里免费分享给大家一份Python全台学习资料,包含视频、源码。课件,希望能帮到那些不满现状,想提升自己却又没有方向的朋友,也可以和我一起来学习交流呀。

包括:Python激活码+安装包、Python web开发,Python爬虫,Python数据分析,人工智能、机器学习、自动化测试带你从零基础系统性的学好Python!

👉[[CSDN大礼包:《python安装工具&全套学习资料》免费分享]](安全链接,放心点击

👉Python学习大礼包👈

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【C++ Primer Plus习题】10.4
  • 量子运算-计算新时代的开端
  • Java健康养老智慧相伴养老护理小程序系统源码代办陪诊陪护更安心
  • Nginx: 性能优化之提升CPU效率以及TCP的三次握手和四次挥手
  • Linux 初次创建分区及磁盘挂载
  • SPEC CPU2017的runcpu命令使用
  • 【Java】将 Java 代码打包成 Jar 包
  • Etl加工建模方式分类使用
  • 智能制造新纪元:3D协同平台引领前沿创新
  • Python【3】乌七八糟
  • 线性回归算法详解
  • 在Centos中的mysql的备份与恢复
  • 银河麒麟v10安装 python 3.12.5版本
  • 如何准备中国林业调查规划设计资质申报材料才能增加成功率呢
  • 顶级域名服务器 - TLD服务器
  • [分享]iOS开发-关于在xcode中引用文件夹右边出现问号的解决办法
  • docker-consul
  • JavaScript对象详解
  • js数组之filter
  • Markdown 语法简单说明
  • nodejs实现webservice问题总结
  • Traffic-Sign Detection and Classification in the Wild 论文笔记
  • 构造函数(constructor)与原型链(prototype)关系
  • 回流、重绘及其优化
  • 开年巨制!千人千面回放技术让你“看到”Flutter用户侧问题
  • 使用putty远程连接linux
  • Spark2.4.0源码分析之WorldCount 默认shuffling并行度为200(九) ...
  • 带你开发类似Pokemon Go的AR游戏
  • ​html.parser --- 简单的 HTML 和 XHTML 解析器​
  • ​批处理文件中的errorlevel用法
  • !! 2.对十份论文和报告中的关于OpenCV和Android NDK开发的总结
  • #经典论文 异质山坡的物理模型 2 有效导水率
  • #我与Java虚拟机的故事#连载09:面试大厂逃不过的JVM
  • #我与Java虚拟机的故事#连载16:打开Java世界大门的钥匙
  • (20)目标检测算法之YOLOv5计算预选框、详解anchor计算
  • (3)Dubbo启动时qos-server can not bind localhost22222错误解决
  • (4)事件处理——(6)给.ready()回调函数传递一个参数(Passing an argument to the .ready() callback)...
  • (CVPRW,2024)可学习的提示:遥感领域小样本语义分割
  • (delphi11最新学习资料) Object Pascal 学习笔记---第5章第5节(delphi中的指针)
  • (LNMP) How To Install Linux, nginx, MySQL, PHP
  • (二)正点原子I.MX6ULL u-boot移植
  • (附源码)springboot 基于HTML5的个人网页的网站设计与实现 毕业设计 031623
  • (附源码)springboot猪场管理系统 毕业设计 160901
  • (附源码)ssm教师工作量核算统计系统 毕业设计 162307
  • (附源码)ssm捐赠救助系统 毕业设计 060945
  • (附源码)计算机毕业设计ssm-Java网名推荐系统
  • (每日一问)设计模式:设计模式的原则与分类——如何提升代码质量?
  • (转)Spring4.2.5+Hibernate4.3.11+Struts1.3.8集成方案一
  • (转)我也是一只IT小小鸟
  • .cfg\.dat\.mak(持续补充)
  • .halo勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • .NET 8 跨平台高性能边缘采集网关
  • .net core 6 集成 elasticsearch 并 使用分词器
  • .NET3.5下用Lambda简化跨线程访问窗体控件,避免繁复的delegate,Invoke(转)
  • .NET上SQLite的连接