Scrapy入门程序点评

Scrapy的Spider例子

在Scrapy的框架中,Spider与GooSeeker开源爬虫的提取器类似,核心特征是

Spider通常针对一个特定网站

Spider里面存了爬行入口URLs集合

Scrapy的引擎顺序拿Spider中的入口URL,构造Request对象,启动消息循环

Spider提供接口方法,把抓取下来的内容进行输出

对GooSeeker的MS谋数台和DS打数机比较了解的读者,可以把Spider想象成:MS谋数台上定义的一组抓取规则 + 会员中心的爬虫罗盘

下面我们从官网拷贝一个例子:

Scrapy入门程序点评

看这个例子需要注意以下几点

start_urls存储入口网址列表,本例只有一个网址

parse()函数是爬到了网页后执行的,是由引擎回调的

本来到parse()就完成了,但是这个例子展示了一个两级抓取的案例,在parse()里面构造了下一级抓取的任务,生成Request对象,并登记一个回调函数

parse_question()是第二级的解析网页的函数,返回了一个JSON对象

事件驱动模式显而易见,可以构造好多Request,丢给引擎即可,不用阻塞式等待

官网文章还总结了其他很多功能特性,总之,Scrapy是一个十分完善和强大的框架。