基于Scrapy爬取招聘信息的研究
2020-06-07林观德
林观德



摘要:在信息浩如烟海的大数据时代,如何高效获取万维网上所需的信息,是抢占先机的关键。文章基于Scrapy的框架及工作原理展开论述,使用Scrapy定向爬取百度社会招聘网站当中的相关招聘信息数据,对所爬取的招聘信息数据进行处理和分析,分析结果可为毕业生就业前收集招聘信息提供参考。
关键词:Scrapy;网络爬虫;网页信息抓取
中圖分类号:TP391.3 文献标识码:A
文章编号:1009-3044(2020)35-0054-02
开放科学(资源服务)标识码(OSID):
1 Scrapy简介
Scrapy是一个为了抓取万维网上的网页数据、提取结构性数据而用Python语言编写的应用框架,该框架是封装的,对于网站的内容抓取速度非常快捷,并可以下载至本地存储。Scrapy用途很广,除数据挖掘外,还可以用于监测和自动化测试。用户也可以根据需要对其代码进行修改,快速地抓取网站数据内容,使用起来极为方便[1]。Scrapy架构是由下图各部分组成(如图1所示)。
2 Scrapy架构原理
Scrapy Engine 负责Spider、ItemPipeline、Downloader、Scheduler中间的通讯,信号、数据传送,Scrapy爬取数据处理的工作流程如图1所示[2]。图中带有箭头方向表示数据流向。
当用户要爬取某个目标网站的数据,Spiders向Scrapy发出该网站的URL请求。当Scrapy接收到Spiders请求信号后,告知Scheduler把与提取相关的页面请求排序入队[3]。
Scheduler接受Scrapy发过来的请求信号,并将该信号按某种方式处理后,再压URL入队列中,当再次需要时,还给Scrapy。此时Scheduler继续送下一个要爬取的URL传给Scrapy,Scrapy通过Downloader Middlewares将URL转发给Downloader。
Downloader得到Requests请求,根据指令从页面上提取需要数据,再将提取响应交还给Scrapy。
Scrapy收到Downloader的响应,通过Spider Middlewares转给Spiders处理。
Spiders获取的响应信息经过分析,解析出item字段所要的数据信息,由Pipeline下载完成任务,返回提取的项目内容并处理新的URL请求给Scrapy。……
