最近公司需要扩展业务,需要爬取一些新的数据,然后接触了一下scrapy,瞬间觉得..(此处停顿3秒)。。。
简直黑魔法啊!
你能想象爬个网站配置一下就好了吗?
想前些日子用requests + BeautifulSoup爬新浪微博做毕设的日子,就像刀耕火种瞬间发现了世界上有了蒸汽机,马上可以畅想蒸汽朋克了,哭瞎了。
这么吹水真的对不起信誓旦旦的教学向...
首先感谢scrapy文档的中文翻译作者marchtea,看他最后在博客说来深圳实习,不知道现在还在不在深圳,(Maybe I can buy him an cup of coffee :) )。
然后祭出这张图:
这张图我看过中文版本的,但是实在找不到了,下次找到了我再补上。
这张图讲了scrapy的大致的流程,描述的很棒了,大概说下最简单的几个,能最简单实现功能的。
Spiders
图片最下面,即一个爬虫,我们爬一个网站,基本上就是定义一个爬虫。Items
左边的弯曲的箭头,按照文档的说法,是类似于字典的一种结构实现,用来保存你需要爬取的内容,比如爬个电商网站,保存的就是各种商品规格;爬煎蛋的妹子图,保存的就是URL;爬1024,保存就是ftp之类的 :)。-
Item Pipeline
重写item处理流程的一个或者几个函数,主要实现两个功能:- item清洗,比如爬到的item内部的元素是否全部都是你需要的?
- 数据持久化,比如爬取到的每个item是写到mongodb、mysql,还是输出成json?
了解了这三个主要的部分,完全就可以开始操作啦!
我会在下一讲里面带来爬取某个网站的demo,但是还没决定好爬哪个网站...敬请期待 :)