【Scrapy】走进成熟的爬虫框架
优采云 发布时间: 2020-05-10 08:02
今天简单说说Scrapy的安装。
前几天有小伙伴留言说能不能介绍推荐一下爬虫框架,我给他推荐了Scrapy,本来想偷个懒,推荐他去看官方文档,里面有一些demo代码可供学习测试。结果收到回复说文档中演示用到的网站已经难以访问了。所以只能自己来简单写一下了,也算是自己一个学习记录。
Scrapy是哪些?
定义介绍我也不复制粘贴了。简单来说,Scrapy是一个中小型的爬虫框架,框架的意义就在于帮你预设好了好多可以用的东西,让你可以从复杂的数据流和底层控制中抽离下来,专心于页面的解析即可完成中大项目爬虫,甚至是分布式爬虫。
但是爬虫入门是不推荐直接从框架入手的,直接从框架入手会使你头晕目眩,觉得哪里哪里都看不懂,有点类似于还没学会基础的措词造句就直接套用模板写成文章,自然是非常费力的。所以还是推荐你们有一定的手写爬虫基础再深入了解框架。(当然还没有入门爬虫的朋友…可以催更我的爬虫入门文章…)
那么首先是安装。
Python的版本选择之前提过,推荐你们全面拥抱Python 3.x。
很久以前,大概是我刚入门学习Scrapy时爬虫框架,Scrapy还没有支持Python 3.x,那时一部分爬虫工程师把Scrapy不支持Python 3.x作为不进行迁移的理由。当然了,那时更具体的缘由是Scrapy所依赖的twisted和mitmproxy不支持Python 3.x。
现在我仍然推荐你们全面拥抱Python 3.x。
先安装Python
这次我们以本地环境来进行安装(Windows+Anaconda),由于Python的跨平台特点爬虫框架,我们本地写的代码可以很容易迁移到别的笔记本或服务器使用。(当然了,从规范使用的角度上推荐你们使用单独的env,或者直接使用docker或则vagrant,不过那就说来话长了…以后可以考虑单独介绍)
按照惯例,我们直接使用 pip install scrapy 进行安装。
那么,你大几率会碰到这样的错误:
具体的错误缘由…缺少Microsoft Visual C++ 14.0…你也可以自己通过其他渠道解决,当然我们最推荐的做法是直接使用 conda install scrapy 命令(前提是你安装了Anaconda而非普通Python)。
如果碰到写入权限错误,请用管理员模式运行cmd。
之后我们可以写一个太小的demo,依然是官方案例中的DMOZ,DMOZ网站是一个知名的开放式分类目录(Open DirectoryProject),原版的DMOZ已于今年的3月17日停止了营运,目前网站处于403状态。但是网上大量过去的教程都是以DMOZ为案例的。我为你们找到了原DMOZ网站的静态镜像站,大家可以直接访问
大家根据官方文档的步骤继续做就可以了,后续的问题不大。
()
需要注意的就是工作目录问题。
启动Scrapy项目。
scrapy startproject tutorial
进入目录,我们可以看见手动生成的一些文件,这些文件就是scrapy框架所须要的最基础的组织结构。
scrapy.cfg: 项目的配置文件
tutorial/: 该项目的python模块。之后您将在此加入代码。
tutorial/items.py: 项目中的item文件.
tutorial/pipelines.py: 项目中的pipelines文件.
tutorial/settings.py: 项目的设置文件.
tutorial/spiders/: 放置spider代码的目录.