拉勾网职位数据爬取与分析(一)

写在前面:开始数据挖掘的学习已有一段时间,由于研究生阶段一直使用C++,代码的熟练度还远远不够,对算法的理解也不够深刻。因此,想要写点东西记录自己学习的过程,希望可以在积累中不断提升自己。

今天写一写最近几天爬取分析拉勾网岗位数据的过程,用到了python数据整理常用的pandas库、可视化操作的matplotlib和seaborn库、爬虫算法常用框架scrapy。

建立爬虫框架

学习scrapy时主要参考了这篇博文:【图文详解】scrapy爬虫与Ajax动态页面——爬取拉勾网职位信息(1)

观察拉勾网网页及源代码发现,结构为主页——职位分类——职位列表——具体职位信息,我们尝试爬取“数据挖掘”分类下的所有职位信息,首先建立爬虫框架:

spiders文件
观察网页地址发现,数据挖掘分类下第一页职位列表的地址为http://www.lagou.com/zhaopin/shujuwajue/1/?labelWords=label,后面的网页只修改了地址中的数字(即页码),其他不变。

class LgjobsSpider(scrapy.Spider):
    name = "lgjobs"
    start_urls = (
        'http://www.lagou.com/zhaopin/shujuwajue/1/?labelWords=label',# 'http://www.lagou.com/',
    )
    totalpageCount=1

    def start_requests(self):
        return [scrapy.http.FormRequest('http://www.lagou.com/zhaopin/shujuwajue/1/?labelWords=label', callback=self.parse)]

观察职位列表页的源代码和职位详情页的源代码发现,二级网页的源代码更容易提取,包含的信息也更全面,因此选择首先在网页内爬取二级网页的地址,再由二级网页爬取所需的职位信息。
职位列表网页源代码

职位详情网页源代码

    def parse(self, response):
        selector = scrapy.Selector(response)
        next_urls = selector.xpath('//a[@class="position_link"]').extract()
        for each 
  • 4
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值