当前位置:   article > 正文

python爬虫:爬取拉勾网职位并分析_拉勾网爬虫

拉勾网爬虫

本文从拉勾网爬取深圳市数据分析的职位信息,并以CSV格式保存至电脑,之后进行数据清洗,生成词云,进行描述统计和回归分析,最终得出结论。

1. 用到的软件包


  • Python版本: Python3.6

  • requests:下载网页

  • math:向上取整

  • time:暂停进程

  • pandas:数据分析并保存为csv文件

  • matplotlib:画图

  • statsmodels:统计建模

  • wordcloud、scipy、jieba:生成中文词云

  • pylab:设置画图能显示中文

2. 解析网页


打开Chrome,在拉勾网搜索深圳市的“数据分析”职位,使用检查功能查看网页源代码,发现拉勾网有反爬虫机制,职位信息并不在源代码里,而是保存在JSON的文件里,因此我们直接下载JSON,并使用字典方法直接读取数据。

在这里插入图片描述

抓取网页时,需要加上头部信息,才能获取所需的数据。

def get_json(url,num):

‘’‘’‘从网页获取JSON,使用POST请求,加上头部信息’‘’

my_headers = {

‘User-Agent’:‘Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36’,

‘Host’:‘www.lagou.com’,

‘Referer’:‘https://www.lagou.com/jobs/list_%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90?labelWords=&fromSearch=true&suginput=’,

‘X-Anit-Forge-Code’:‘0’,

‘X-Anit-Forge-Token’: ‘None’,

‘X-Requested-With’:‘XMLHttpRequest’

}

my_data = {

‘first’: ‘true’,

‘pn’:num,

‘kd’:‘数据分析’}

res = requests.post(url, headers = my_headers, data = my_data)

res.raise_for_status()

res.encoding = ‘utf-8’

得到包含职位信息的字典

page = res.json()

return page

在搜索结果的第一页,我们可以从JSON里读取总职位数,按照每页15个职位,获得要爬取的页数。再使用循环按页爬取,将职位信息汇总,输出为CSV格式。

程序运行如图:

在这里插入图片描述

抓取结果如图:

在这里插入图片描述

3. 数据清洗


声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小惠珠哦/article/detail/939794
推荐阅读
相关标签
  

闽ICP备14008679号