专栏名称: Python学习交流
每天更新,更新python相关的知识。希望诸君有所收获!
目录
相关文章推荐
Python爱好者社区  ·  史上最强!PINN杀疯了 ·  昨天  
Python爱好者社区  ·  DeepSeek创始人梁文锋个人履历 ·  3 天前  
Python爱好者社区  ·  1885页的Python完全版电子书 ·  3 天前  
Python爱好者社区  ·  多模态,杀疯了 ·  2 天前  
Python开发者  ·  o3-mini 碾压 DeepSeek ... ·  6 天前  
51好读  ›  专栏  ›  Python学习交流

用Scrapy重温火影漫画情节!勿用于非法用途!请购买正版漫画!

Python学习交流  · 公众号  · Python  · 2018-03-25 21:47

正文

2.3.1 创建项目

在开始爬取之前,我们必须创建一个新的Scrapy项目。 进入打算存储代码的目录中,运行下列命令:

scrapy startproject cartoon1

scrapy startproject是固定命令,后面的cartoon是自己想起的工程名字。这里,我起名为cartoon(漫画)。

该命令将会创建包含下列内容的cartoon目录:

想要显示全,就需要extract()方法,转换成字符串输出,指令如下:

response.xpath('//dd/a[1]').extract()1

从运行结果可以看出,这样就显示完全了。现在开始思考一个问题,如果我想保存每个章节的图片,需要哪些东西?链接必不可少,当然还有每个章节的名字,我们要以文件夹的形式存储每个章节,文件夹的命名就是章节的名字,这样更规整。

我们使用text()获取每个章节的名字,指令如下:

response.xpath('//dd/a[1]/text()').extract()1

瞧,每个章节的名字被我们轻松的提取出来了,记住这个指令,在编写程序的时候,需要用到。

获取完章节名字,接下来就是获取链接了,使用指令如下:

response.xpath('//dd/a[1]/@href').extract()1

Scrapy还是蛮好用的嘛~省去了使用Beautifulsoup这些工具的使用。当然,它的强大不仅仅于此,让我们慢慢道来。

该网站是使用如下指令加载图片的:

document.write("");1

JS脚本放在网页里,没有使用外部JS脚本,这就更好办了,直接获取脚本信息,不就能获取图片链接了?使用指令如下:

response.xpath('//script/text()').extract()1

通过运行结果可以看出,我们已经获取到了图片链接,server的值是通过运行JS外部脚本获得的,但是这里,我们仔细观察server的值为http://n.1whour.com/,其他页面也是一样,因此也就简化了流程。同样,记住这个指令,编写程序的时候会用到。

再打印章节名字看看,代码如下:

章节名字打印成功!

2.4.2 Items编写

刚刚进行了简单的测试,了解下Spiders的编写。现在开始进入正题,按步骤编写爬虫。第一步,填写items.py,内容如下:







请到「今天看啥」查看全文