~小学生日记本~

xiaofd == 小分队 == xiao fen dui

scrapy 爬虫实战:爬漫画网

爬呀爬,小鸡不吃灰,这样是不就好受不少,/斜眼笑

简介

学习scrapy第一个练手玩的项目,整体不复杂

主要工作量应该就是动态js解析(相关内容之前文章有介绍) 和 定义 Image的Pipeline了吧

还是 ubuntu 16.04 环境下配置,推荐使用vultr

windows下也可运行,windows下环境配置不能一键,这里就不细说了,可以根据下面介绍,自己按需配置

脚本下载与环境配置

脚本运行

上面也有了,解压后,cd到one目录下

然后执行下面语句爬取一本漫画:

链接获取方式:

《scrapy 爬虫实战:爬漫画网》

 

注1**

  • 脚本没报错、崩溃,就是在正常运行,有时候没显示是正在下载队列中的图片,等待即可
  • 如果中间某些图片下载出错,默认是会跳过去的,如果感觉缺图片,可以反复执行爬取代码,爬取是增量的【这里是我对scrapy工作原理还不太熟悉,回头再看看】

注2*

脚本默认设定需要传递一个漫画链接,爬取这个漫画的全部图片

非全站爬取,目的嘛稍微提高下门槛,MJJ们太可怕,爬爬就好,别把人家爬挂了

会改的大佬想折腾就改改代码,不会改的,哈哈哈哈,可以(好好学习)Py(thon)哇

代码简单介绍

  • settings.py

配置了爬虫名,pipeline名等名字

同时设置了图片pipeline的下载目录(爬虫目录/pic 目录下)以及图片的下载延迟

这里配置的下载目录最好设置为绝对路径,相对路径是相对运行脚本的目录

  • pipelines.py

主要通过file_path函数,结合item信息,设置下载目录,分章节保存文件

  • items.py

设定了图片Item需要用到的三个变量,每个变量用 scrapy.Field() 初始化声明

  • spider/a733.py

类:name变量,为爬虫名,即运行  scrapy crawl 爬虫名 ,里面的这个名字

类:__init__函数,为了传递默认爬取的漫画链接url

类:parse函数,爬虫调用漫画链接获取目录信息供进一步爬取

类:dchap函数,意为download chapter,用来爬取每一个章节同时执行js解析出图片地址信息,然后将item传递给pipeline下载

  • 其余未列出:均为默认生成

打赏




点赞
  1. TrojanSUn说道:

    很不错 就是水印太多 太大

发表评论

电子邮件地址不会被公开。 必填项已用*标注