1.首先在百度小说网找到《西游记》

2.查看网页源代码

发现网页源代码里没有我们需要的“小说内容”,说明我们现在看到的网页都是通过异步操作返回的数据(二次加载)

3.打开控制台

点击“Network”工具栏,选择“Fetch/XHR”,再点击网页“全部章节”栏下的“查看全部”,观察控制台数据包变化,返回了一条数据包,并在Preview标签下的data/novel/item下可以看到网页中显示的所有章节的标题。于是 我们从Headers标签下General中记录我们需要的第一个URL

https://dushu.baidu.com/api/pc/getCatalog?data={“book_id”:“4306063500”}

通过这个URL我们可以得到所有章节的名称和cid

4.点击“第一回”再次观察控制台

可以发现点击“第一回”后,XHR标签下又新增了三个链接。通过观察数据标签,可以发现在最后一个链接中novel/content下包含了小说的具体内容。于是我们找到了第二个URL

https://dushu.baidu.com/api/pc/getChapterContent?data={"book_id":"4306063500","cid":"4306063500|11348571","need_bookinfo":1}

通过这个URL我们可以得到章节内部的具体内容。

5.分析逻辑

于是我们可以总结出一个逻辑关系:我们通过第一个URL可以拿到一部小说的所有章节,并且得到章节的cid 再通过循环就能拿到每一个cid,通过每个cid就可以拼接出第二个URL,有了第二个URL就可以下载小说的具体内容。

且第一个URL只需要请求一次,因为在请求完第一个URL后才会产生多个章节的cid,而第二个URL需要运行多次来得到不同章节的内容。所以第一个URL可以使用同步的方法,拿到cid再把任务分发给多任务,即:

1.同步操作:访问getCatalog 拿到所有章节的cid和名称
2.异步操作:访问getChapterContent 下载所有的文章内容

6.编写代码

对第一url使用同步操作,再通过循环操作,得到所有章节的cid,对第二个url使用异步操作下载每一章节的内容。需注意:要将爬下的字符串转换为jason数据。最后用csv文件格式存储。

7.数据可视化

使用jieba库,制作wordcloud词云;使用pyecharts.options库,制作曲线图。

爬取《西游记》小说所有章节内容相关推荐

  1. python爬取vip小说章节_python 爬取起点小说vip章节(失败)

    今天心血来潮,想爬取起点vip小说章节,花费了足足0.27大洋后,悟出来一个人生道理,这个应该是爬不下来.但是这0.27大洋也教会了我两个知识点. 1.服务器只会响应客户端的请求,不会主动给客户端发送 ...

  2. python爬取起点vip小说章节_python 爬取起点小说vip章节(失败)

    今天心血来潮,想爬取起点vip小说章节,花费了足足0.27大洋后,悟出来一个人生道理,这个应该是爬不下来.但是这0.27大洋也教会了我两个知识点. 1.服务器只会响应客户端的请求,不会主动给客户端发送 ...

  3. python如何利用scrapy爬取纵横小说三级链接内容并存储到数据库

    效果展示 settings.py# Scrapy settings for zongheng project # # For simplicity, this file contains only s ...

  4. 使用python3爬取 黑客 小说所有章节

    #目标,把整本小说都爬取下来,并储存到本地 #目标url:https://www.liaobige.com/dush/44901/ #爬取整本黑客小说所有章节,并保存到本地 import reques ...

  5. Python爬取起点小说并保存到本地文件夹和MongoDB数据库中

    Python爬取起点小说并保存到本地MongoDB数据库中 工具:Python3.7 + Mongo4.0 + Pycharm """ 爬取起点小说<诡秘之主> ...

  6. python爬虫爬取网络小说

    近日沉迷网络小说不能自拔的某人让我趁着网站限免把她想看的小说爬取下来,免得到时候又要付费看书,本来对于这种又要看正版又想占便宜不给钱的行为的我是深恶痛绝的,然而...为了小命我还是做一下吧.     ...

  7. Python-使用正则表达式爬取斗破苍穹小说文字内容(使用Requests库实现)

    **Python-爬取斗破苍穹小说文字内容(使用Requests库实现) ** 本次爬取的小说网站为:斗破小说网点击直达网站首页,本人爬取的网站里面的天斗破苍穹,你也可以根据文中提供的代码爬取其他的小 ...

  8. 利用正则表达式爬取网络小说,并按照章节下载到本地

    利用正则表达式爬取网络小说,并按照章节下载到本地 闲来无事,尝试了使用正则表达式爬取了某个明显没有反扒机制的小说网站,其实也是刚刚接触爬虫,第一次从网络上爬到感兴趣的东西还是令人开心的. 先贴为敬. ...

  9. Python的scrapy之爬取顶点小说网的所有小说

    闲来无事用Python的scrapy框架练练手,爬取顶点小说网的所有小说的详细信息. 看一下网页的构造: tr标签里面的 td 使我们所要爬取的信息 下面是我们要爬取的二级页面 小说的简介信息: 下面 ...

  10. 爬虫爬取在线小说阅读网站详解

    前言 环境:python 安装.requests安装.Beautiful Soup安装 爬取目标: 笔趣看网站的<校花之贴身高手>,以下是第一章链接 https://www.biqukan ...

最新文章

  1. 人工智能-离散数学-消解原理
  2. 2011-2012年《软件工程》本科期末试卷
  3. 深度学习时间序列预测:GRU算法构建多变量时间序列预测模型+代码实战
  4. 宇通客车java_6米采血车
  5. -Objc 、 -all_load 、 -force_load
  6. Oracle10g OEM乱码解决
  7. esxi 部署模板_vSphere使用模板部署虚拟机
  8. 安卓启动相关以及架构设计相关
  9. 华为电脑笔记本_华为笔记本电脑屏幕质量竟如此糟糕!
  10. 重装opencv3.2.0后catkin_make遇到问题-解决方案
  11. Carpet-mod常用的用法记录
  12. 四川大学计算机考研信息汇总
  13. 戴尔710服务器网卡型号怎么查,怎么看网卡驱动有问题_怎么看网卡驱动型号
  14. 阿里巴巴JAVA代码规范三【考题】
  15. 总浮动时间(TF) 自由浮动时间(FF) 区别
  16. 报错Exception opening port “18080“ (port may be in use), cause: “java.net.BindException: Address alrea
  17. SQL Server 数据库之数学函数
  18. 使用Python读取文件夹中的图片
  19. 用于播放硬盘中avi视频的简单程序(opencv)
  20. 【USACO】2017 December Contest, Platinum题解

热门文章

  1. 1334: PIPI计数
  2. 摄影之构图,了解画面构成的五大元素:主体、陪体、前景、背景、留白
  3. matlab线条不平滑如何滤波,复杂曲线的包络线不平滑
  4. 一个MOS 电平转换电路引发的思考可避免更多的坑
  5. 到底什么是非线性优化?
  6. python绘制饼图explode_python使用Matplotlib绘制饼图
  7. python 内置函数 eval
  8. mac上好用的数据统计分析工具spss26
  9. Rokid webhook 五步应用指南 手把手教你做个懒人
  10. outlook配置文件添加服务器,Microsoft Outlook卡在加载配置文件?这里如何解决它