scrapy爬虫案例_【Scrapy】走进成熟的爬虫框架

老猫荐书

老猫荐书【第1期】 |《Python项目案例开发从入门到实战——爬虫、游戏和机器学习》

老猫荐书【第2期】 |《微信小程序开发零基础入门》

老猫荐书【第3期】 |《Java EE框架整合开发入门到实战——Spring+Spring MVC+MyBatis》

今天简单聊聊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 进行安装。

那么,你大概率会遇到这样的错误:

d4758367cec145f8d3f5f502b9fd7821.png

具体的错误原因…缺少Microsoft Visual C++ 14.0…你也可以自己通过其他渠道解决,当然我们最推荐的做法是直接使用 conda install scrapy 命令(前提是你安装了Anaconda而非普通Python)。

如果遇到写入权限错误,请用管理员模式运行cmd。

d67cb0dedbd0a015cca383dc5c1a3faa.png

之后我们可以写一个很小的demo,依然是官方案例中的DMOZ,DMOZ网站是一个著名的开放式分类目录(Open DirectoryProject),原版的DMOZ已于去年的3月17日停止了运营,目前网站处于403状态。但是网上大量过去的教程都是以DMOZ为案例的。我为大家找到了原DMOZ网站的静态镜像站,大家可以直接访问 http://dmoztools.net/

大家按照官方文档的步骤继续做就可以了,后续的问题不大。

(http://scrapy-chs.readthedocs.io/zh_CN/0.24/intro/tutorial.html)

需要注意的就是工作目录问题。

启动Scrapy项目。

scrapy startproject tutorial

a75d721096849277e11b6b4aa7a7f2c0.png

进入目录,我们可以看到自动生成的一些文件,这些文件就是scrapy框架所需要的最基础的组织结构。

scrapy.cfg: 项目的配置文件

tutorial/: 该项目的python模块。之后您将在此加入代码。

tutorial/items.py: 项目中的item文件.

tutorial/pipelines.py: 项目中的pipelines文件.

tutorial/settings.py: 项目的设置文件.

tutorial/spiders/: 放置spider代码的目录.

-END-

  • 京东1月热销

  • 14a98391d383292532de0355440af7dc.png

  • d6a5241faa9620f1618d6164eb68b163.png

  • 6ae2e5213c359d71e91523a164731838.png

  • 71878a4e2152c7998ec3110d44c93d35.png

  • 超值赠品

  • 凡是在京东购买用户,将订单和评价截图发到邮箱itbook8@163.com

  • 将获得额外大礼包(如下图样例)

  • 634c26c67a675c965e627a39b240fca8.png

  • f6b900406dcce07c20859d8bf969d7ba.png

  • 0c9ea01211dc2d85f55a750bbc075345.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值