编程

Python爬虫——爬取小说(以晋江文学网为例)

chenmo · 5月2日 · 2021年 · 本文共24672个字 · 预计阅读83分钟2779次已读
task_3

python爬虫——爬取小说(以晋江文学网为例)

前言

大创组员在学习python,2020年的大创项目需要用python获取百度迁徙网站上的数据, 因此需要让她们学会爬虫。因此这是使用晋江文学网为例的一个爬虫小练习 对于刚学python没多久的她们,想要接触完全陌生的爬虫,必然是存在一些困难的。 此外还缺少网页开发(html)的基础,因此对于许多部分必定存在疑惑,因此在此记录一下简单爬虫的流程与笔记。

此外,由于python实在是博大精深,若想要从头开始学习,则时间不够充分,因此这里采用逆向角度, 从实际应用的角度逆向来学习python。在学习爬虫的时候也是一样,直接从源代码开始入手, 找到一个可以运行的代码,然后看懂它是如何运作的,记录自己不会的地方,并查明然后做笔记记录下来。

注:学习方法并无对错之分,只有适合于不适合

学习流程

  1. 百度搜一篇爬小说带源代码的博客

  2. 将源代码复制下来到pycharm,修改保存路径(若有)

  3. 运行代码,若失败则尝试修复,修复不了,换博客

  4. 执行成功,则开始分析源代码

  5. 找出作者爬取小说的思路

  6. 修改相应部分,改成自己所需的网址和保存格式

源代码思路

  1. python打开小说网址,找到小说章节列表
  2. 获取小说章节标题,章节Url,组成章节列表
  3. 遍历章节列表,打开小说章节网址
  4. 获取小说正文内容
  5. 在指定文件夹中,创建以章节标题为名字的文本文档
  6. 在对应文档中,写入小说内容
  7. 关闭对应文档

思路解析

  1. python打开小说网址,找到小说章节列表 a. 网页由主要内容由html文件呈现,则只需获取html文件内容 b. 单纯获取html内容,无需登录等需要输入信息的操作,因此为Get请求 c. 使用requests库,Get请求只需几行代码。

  2. 获取小说章节标题,章节Url,组成章节列表 a. 获取到的html文件内容,由一系列标签html代码术语)组成,因此需要找到小说章节标题与Url所在标签 b. 使用beautifulSoup库,简单,迅速,便捷,容错性高。

  3. 使用python内置对象创建文本文档 open()函数,用于创建和打开一个file对象

Tip:标签html语言术语,由'<>'包含的叫做标签,例如:< div>xxx</ div>;< a>xxx</ a>;< span>xxx</ span>;< p>xxx</ p>(xxx为网页内容)

源代码

笔记

requests

安装

通过Get请求访问页面(无参数)

通过Get请求访问页面(无参数)

其余内容暂不记录,等以后用到再记录

beautifulSoup

安装

解析html内容 结合requests获取的html内容

搜索文档树 html文档术语为:文档树。要在文档树中找到所需内容,则需要搜索文档树

标签操作 根据搜索文档树的函数,可以找到所需内容对应的标签,但并不是真正所需的内容,因此需要根据标签获取所需内容

删除子标签 标签内容存在无用的子标签,可以进行删除

创建文本文档

在本地创建文本文档

其余内容暂不记录,等以后用到再记录

参考文献

0 条回应