1. 实验内容
使用Pycharm写代码,采用scrapy爬取红袖小说网前十页的作品信息。
2. 试验环境
操作系统:window10 家庭版64位操作系统
Python版本:python 3.7.3
3. 实验
3.1 观察网页结构,制定爬取逻辑
使用firefox浏览器打开红袖小说网,使用开发者工具(Fn+F12)观察网页结构,获取相应元素的xpath语句。
由于我们需要在每本小说的详情页中进行文本的提取,所以这里需要观察每一页的网址构成找出规律。
网址链接分为三部分:主页+gender+catID
在此处我选择前十页的作品进行信息的爬取。
随便挑选一本小说的详情页进行网页结构解析,此处为小说名称、作者、小说类别的元素所在位置。
此为这本小说的总字数、收藏量、点击量和简介的元素所在位置。
这是小说封面图片的url
观察完网页结构后,制定爬取逻辑:
1.爬取每一个列表项
2.提取每本小说的名称、类别、作者、总字数、点击量、收藏量、简介、图片url
3.提取前十页的url链接
3.2 主要代码
文件结构解读
在此我选取有代表性的四个进行解读:
1. book.py:爬虫脚本的书写
爬虫的名称命名为book,以及可以爬取的两个网址区域。
获取前十页的链接。这里要注意网址链接分为三部分:主页+gender+catID,多翻几页即可找到规律。(此处有参考网络教程)
获取详情页的链接。
在详情页中获取我们想要的信息。由于总字数、点击量、收藏量采取的是“数字+万字”的形式,所以需要分为两个部分进行合并。
url是小说封面图片url的爬取。
2. items.py:创建爬虫存储的字段
要什么写什么就可以了。
3. begin.py:调用、调试scrapy
我看网上大家都是这么写的,不过多解释。注意把爬虫的名称换为自己的。
4. pipelines.py:处理爬取的数据(json格式)
这个也不解释,参考了网络教程。
执行爬虫文件
由于自己在做的时候忘记截图了,找了网上一个教程搬运过来,原链接为 //www.greatytc.com/p/07b4d9f48505
没了。