添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

【python爬虫】动漫之家漫画下载(scrapy)

好久没有更新自己的CSDN,最近在沉迷爬虫,一开始学习爬虫的时候一直想要做一个下载漫画的(毕竟是死宅),但是在掌握下载图片的技术之后,并没能马上实现这个技术,因为一般这种网站,都会用js把漫画的链接各种加密,打乱,所以比较麻烦,在学了selenium之后,倒是可以成功下载了,但是总觉得少了点什么,但是要破解js,又觉得有点难度,本文将带领大家从另一个角度考虑这个问题,希望对大家之后的爬虫之路有所启发。

ps(这里是注意的点):

  • 这次爬取的网站是动漫之家
  • 爬取时使用scrapy框架(使用scrapy框架是因为他使用了异步下载模式,这样下载漫画比较快),但是如果只是想要学习从另一个角度考虑问题的,可以继续往下文看,因为也不是很难
  • 本文用于技术交流,如果侵犯版权立即删除,任何人不能用于商业用途
  • 先说说代码的运行模式,这里需要用户输入需要下载漫画的网址和名字(网址一定要准确,但是名字可以随意),一开始本来想要用漫画名字下载的,但是发现漫画的名字在网址中有不同的格式(有利用漫画名全拼的也有用漫画名字首字母的),所以就暂时放弃这种方法(等之后自己的技术更为精湛,再回来修改)
    这里以漫画https://manhua.dmzj.com/womenyiqiwufaxuexi/ (我们无法一起学习)为例
    在这里插入图片描述
    来到漫画的目录,一开始的想法是利用爬虫把每一话的遍历一次,再进去具体页面进行下载,但是这种想法很快就破产了,在具体页中,我们能通过f12迅速找到漫画图片的网址
    在这里插入图片描述
    但很可惜,这是通过js动态加载出来的,也就是我们是没有办法直接获取这个网址,一开始的想法当然是寻找出这个链接的规律,但是很可惜,这个链接的规则也是十分的复杂
    在这里插入图片描述
    在这里插入图片描述
    漫画图片的名字都有各自的规则,应该还有一些是js随机弄出来的数字,所以破解出来暂时对我来说是不现实的,这个时候似乎就只剩下用selenium一个办法了,可是这样又稍微有点不爽,总觉得好像输了,执着(钻牛角尖)的我在机缘巧合之下发现,动漫之家是有app的,这时候灵机一动,打开浏览器,
    www.baidu.com ,成功让我找到客户端的网址,顺便一提(网址是这个https://m.dmzj.com/ ),于是乎,我们便成功来带了app所在的网页
    在这里插入图片描述
    而在源代码中,我们发现了这样一个script

    Harvey_fu: [code=python] 2019-09-21 01:13:25 [scrapy.utils.log] INFO: Scrapy 1.7.3 started (bot: dmzj_scrapy) 2019-09-21 01:13:25 [scrapy.utils.log] INFO: Versions: lxml 4.4.1.0, libxml2 2.9.5, cssselect 1.1.0, parsel 1.5.2, w3lib 1.21.0, Twisted 19.7.0, Python 3.7.4 (tags/v3.7.4:e09359112e, Jul 8 2019, 19:29:22) [MSC v.1916 32 bit (Intel)], pyOpenSSL 19.0.0 (OpenSSL 1.1.1c 28 May 2019), cryptography 2.7, Platform Windows-10-10.0.18362-SP0 Usage ===== scrapy crawl [options] <spider> dmzj_start.py: error: running 'scrapy crawl' with more than one spider is no longer supported [/code] 报错如上,请问大神如何修改? 【python爬虫】在scrapy中利用代理IP(爬取BOSS直聘网) weixin_43351935: 大佬,,这篇文章写得很好。。