python爬取招聘,Flask、Echarts数据展示案例分享

本文分享使用Python爬取51job和智联招聘网站的职位薪资数据,涉及URL构造、数据提取、SQLite存储及Flask+Echarts数据展示。文章详细讲解了如何处理反爬策略,如编码转换、城市代码匹配、JavaScript变量解析等,并展示了数据可视化效果。
摘要由CSDN通过智能技术生成

今天分享一下用python爬取51job智联招聘网站的学习研究成果,招聘网站扒一扒,你才知道干点啥,看看不同行业薪资水平究竟咋样。
51job网站数据抓取有一定难度,相比上一期分享的豆瓣电影网站上了一些反爬技术手段,岗位的链接地址不在html标签里,藏在了js的变量中,不能直接通过解析网页来获得。
今天主要分享用python爬取智联招聘网站的六个城市(北京、上海、广州、深圳、武汉、成都)、六个岗位(人工智能、大数据、图像处理、java、python、机械工程师)的薪资待遇等数据信息,并用SQLite数据库保存数据,用Flask框架、Echarts模块进行数据分析与展示。

一、构造URL地址

1.构造搜索页地址:

打开网站首页,https://www.51job.com/,在搜索框输入python,城市选择北京,转到以下搜索结果网页:
https://search.51job.com/list/010000,000000,0000,00,9,99,python,2,1.html?lang=c&postchannel=0000&workyear=99&cotype=99&degreefrom=99&jobterm=99&companysize=99&ord_field=0&dibiaoid=0&line=&welfare=
把上述地址?及以后的内容删掉,你会发现搜索结果页面没啥变化。Ok,我们就以此为基准分析网页地址的构造方法。
在这里插入图片描述

当我们搜索python时,链接地址里就有python字段,说明这是一个岗位字段,当我们输入人工智能时,岗位字段变成了一个奇怪的东西:
https://search.51job.com/list/010000,000000,0000,00,9,99,%25E4%25BA%25BA%25E5%25B7%25A5%25E6%2599%25BA%25E8%2583%25BD,2,1.html
这个字段是个什么鬼?这是对中文进行编码之后的结果,我们可以通过urllib库的parse.quote()命令进行编码转换,构造出相同的岗位字段。
一个搜索页面只有50个岗位,点击下一页,发现链接地址里的2,1变成了2,2,ok,页面地址的变化规律也找到了,这样我们想抓多少岗位就抓多少了。
再就是城市的不同导致的链接地址的变化,可以选择不同的城市搜索,你会发现城市的不同对应着0100这四位的变化,找几个城市,找出对应的四位代码,构造搜索页地址时,将不同的城市代码替换即可。

2.提取详情页地址:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值