写在前面:
上一篇《爬虫Scrapy框架初体验》初步介绍了Scrapy有关的理论知识和基本常用的命令,可以简单的爬取网页上大部分的内容。建议没看过的朋友们可以先点进去看一下哈学习了解一下。这篇文章就主要结合上一篇的知识来爬取“程序员客栈”https://www.proginn.com/cat/中兼职人员的简历信息。Ps:公司最近打算建立一个自己的人才库,所以需要大量的简历信息。初步想法能否从网上招聘平台来爬取一些程序员的简历信息。强调:都是合法安全依法依规能被爬取的简历信息,爬取得到简历信息不会私下进行肮脏的py交易!况且自己爬虫技术也不是特别牛逼,所以大胆往下看吧!目的主要是分析如何爬取我们需要的信息,将这些信息进行保存(导出数据库或Excel表)还有就是考虑二次爬取时怎么避免和第一次爬取得到的信息产生冲突和冗余(也就是查重增量处理)
Ps:最近在看《10x 程序员工作法》里面有说到“优秀程序员的开发效率是普通程序员的10倍”它给出了一个面对难题困难时候思考的框架。现状、目标、实现路径。说明白一点就是:我在哪?我现在水平怎样?、我要去哪里?我目标达到怎样水平?、如何去?我将怎样达到那个水平?借鉴这个思考框架也可以把我这篇文章分为三大块来介绍。为何要爬取?要爬取哪些内容?怎么爬取?以上爬取代码我已经上传到了我GitHub上(https://github.com/DayRed/Scrapy_Export_ExcelMysqlRedis),需要的朋友们可以自行下载哈。有好的建议或想法请pull request我哈!!!
为何要爬取?
上面已经大致介绍了。公司打算建立自己的人才库,需要大量程序员简历信息。通过将搜集到的信息进行机器学习提取里面的内容给这个人打上标签如Java,Python,C++,人工智能等等分门别类物以类聚人以群分,打入我们自己的人才库,方便日后操作。
……
要爬取哪些内容?
这个不用想就大致知道需要哪些内容了,例如,年龄,姓名,工作经验,就任公司,薪资…这个也没啥好过多讲的进入它的网站就知道需要什么信息了。重点是第三步怎么爬取?
怎么爬取?
https://www.proginn.com/cat/这个网站还是比较简洁清晰明了的第一眼看过去还是让你比较舒服的,不像某些网站第一看过去满眼的标题,恨不得把所有信息都一股脑儿扔向你。让你产生强烈的压抑感。
每一个兼职人员的主页信息也相当简洁清晰明了。让用户不用花太多学习时间成本。想要知道什么信息都能马上找寻到。不错,是我喜欢的style。
1.分析
列表爬取
上一篇文章中介绍了如何打开爬取页面?定一个start_urls或者start_requests(self)方法的常量。刚开始我做的时候单纯把每一个人的主页地址作为爬取对象,而忽视了可以先通过获取每一页中每个兼职人员的主页链接地址作为集合再统一的传递给爬取方法进而可以遍历爬取。
start_urls = ['https://www.proginn.com/cat/']
d