狗仔小分队的博客

  • 服务器
    • 干货推荐
    • 教程&一键脚本
    • 特价监控
  • 实用工具
    • 小工具汇总
  • 教程
    • Ubuntu
    • Python
    • 学习
  • 福利
    • 商城
    • 薅羊毛
    • 影视&资源推荐
  1. 首页
  2. 教程
  3. Python
  4. 正文

scrapy 爬虫实战:爬漫画网

2018年4月7日 5567点热度 1人点赞 2条评论

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

简介

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

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

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

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

脚本下载与环境配置

# ubuntu install nodejs
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs

# ubuntu install python and python libs
apt update && apt install -y python3 python3-pip python3-dev python3-pillow libffi-dev libssl-dev unzip 
pip3 install PyExecJS,scrapy 

# download scrapy scripts
wget xiaofd.github.io/scrapy/one.zip && unzip one.zip
cd one

# run examples
# scrapy crawl 733 -a url="https://www.733.so/mh/12071/"

脚本运行

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

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

scrapy crawl 733 -a url="https://www.733.so/mh/12071/"

链接获取方式:

 

注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下载

  • 其余未列出:均为默认生成
标签: js-parse scrapy 漫画网 爬虫
最后更新:2018年4月7日

xiaofd

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

COPYRIGHT © 2021 xiaofd.net. ALL RIGHTS RESERVED.

THEME KRATOS MADE BY VTROIS