18分钟带你掌握商业爬虫框架Scrapy---爬取明星图片

0.学习路径示意图

18分钟带你掌握商业爬虫框架Scrapy---爬取明星图片_第1张图片


    上一期博主讲到如何利用虚拟浏览器chrome driver去处理动态网站,这一期博主将介绍如何使用商业爬虫框架Scrapy去处理静态网站,关于动静态网站,博主在上期的开头已经有所介绍,这里就不过多赘述了。


Chrome Driver爬取动态网站

阿力阿哩哩,公众号:Python机器学习体系Python网络爬虫---chrome driver爬取微博(教你十分钟几十行代码利用虚拟浏览爬取财宝宝微博长文)


1.Scrapy简介

Scrapy,Python开发的一个快速、高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据。Scrapy用途广泛,可以用于数据挖掘、监测和自动化测试。

    Scrapy吸引人的地方在于它是一个框架,任何人都可以根据需求方便的修改。它也提供了多种类型爬虫的基类,如BaseSpider、sitemap爬虫等,最新版本又提供了web2.0爬虫的支持。

    

18分钟带你掌握商业爬虫框架Scrapy---爬取明星图片_第2张图片

    相信很多小伙伴在接触Scrapy前,或多或少都自己写过一些非框架爬虫函数,这些函数一般有如何调度爬虫(Scheduler),如何下载网页(Downloader),如何将结果写入本地(Item Pipeline)等等。

    正如上述框架图所示,Scrapy把这些繁琐的工作都承包了,我们仅仅需要写解析函数(Spiders)来解析所得到的页面即可,上述提到的各种功能都由这个框架自动去执行。

    简单来讲,scrapy就是将我们之前一直重复的工作进行封装,我们只需写那些无法重复的那部分,大大减少了小伙伴的工作量,用最少的代码实现最多的功能,所以当小伙伴们学会了scrapy,之前写的非框架爬虫代码也就可以2_02.png。当然,还有一些小伙伴压根就没写过爬虫,那么博主在这恭喜你,你只要学Scrapy框架即可,无需再去从零开始去写那些非框架爬虫代码,惊不惊喜,意不意外?

18分钟带你掌握商业爬虫框架Scrapy---爬取明星图片_第3张图片


2.Scrapy的安装

在前期的教程中,博主一开始就给大家介绍了Python环境的搭建,博主极力建议大家在Linux上安装Anaconda和集成开发软件Pycharm来开发Python程序,理由博主在下面的教程中都有介绍,这里就不赘述了。

   因此在Linux上,我们只需要在终端(terminal)以root的身份输入以下代码,即可安装Scrapy。

su  # 切换root身份	
source /etc/profile  #  更新系统路径	
conda install scrapy  # 安装scrapy  或者 pip install scrapy

Linux基础

阿力阿哩哩,公众号:Python机器学习体系Python开发环境搭建----Linux基础

Python Anaconda安装

阿力阿哩哩,公众号:Python机器学习体系Python开发环境搭建----安装开发软件


3.代码实践

a.实验环境:Ubuntu Anaconda Python 3.X

b.实验步骤

    b.1 创建爬虫工程项目,在终端(terminal)输入

scrapy startproject crawl_star_image_project  # 创建爬虫工程项目

    b.1*目录层级结构

18分钟带你掌握商业爬虫框架Scrapy---爬取明星图片_第4张图片

    b.2 在spiders文件夹创建爬虫模块(py文件)

    b.3 在items.py文件中定义要爬取的字段

    b.4 在setting.py文件配置log日志(可不配置

c.代码小视频

视频卡顿?bilibili值得拥有~(っ•̀ω•́)っ✎⁾⁾ 我爱学习

Blibli

https://www.bilibili.com/video/av49989342

d.git代码

git代码链接

https://github.com/ChileWang0228/python_tutorial/tree/master/crawl_star_image_project

git代码链接


4.小结

    至此,博主已经将Python网络爬虫这个模块讲完了,静态网站用Scrapy处理,动态网站用虚拟浏览器处理,动静结合,就搭建起了属于自己的网络爬虫学习体系。

    当然,博主并不会讲得特别细致,主要是每个人用爬虫去处理的东西都有所不同,而博主不可能面面俱到,只能将爬虫知识体系的共性内容拿出来进行讲解,但是只要构建了自己的体系,小伙伴们在后续的学习过程中,也只是在已有的架构上添砖加瓦,去实现更多的功能,本质的核心并没有改变。

    希望这期教程能让小伙伴们学有所成~

18分钟带你掌握商业爬虫框架Scrapy---爬取明星图片_第5张图片

你可能感兴趣的:(18分钟带你掌握商业爬虫框架Scrapy---爬取明星图片)