基于python爬虫的岗位数据分析以拉勾网为例_Python爬取拉勾网数据分析职位及数据可视化...

我的话就出现了:

所以我选的应该是箭头所指的格式的文件。

②设置绘图格式和绘图风格

上面的意思通过英文很容易理解,

反爬措施可以通过firefox里的请求头里的信息实现,直接把请求头里的信息复制过来就好,用其他浏览器的也行,把cookies注释掉,因为不要登录信息。

我用的是火狐。首先按F12,在网络里找到列表里的postion开头的内容,然后找到请求头(其他浏览器可能是Rrequest什么的)

将请求头里的内容全部复制下来,需要注意的是,通过火狐浏览器复制的请求头会出现”...“,当我们复制过来发现有省略号时,把那个有省略号的地方打全。只需双击目标内容,请求头那里就会出现完整的句子,我把cookie注释掉了,因为不需要。代码如下

④开始写爬虫代码

首先,还是得先分析下网页信息

我们翻到第一页,其网页代码是:

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

第二页,其网页代码是:

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

可以发现,不同页数的网址并没有区别,所以可以判断这是一个动态网页,真正的网址其实在消息头(Headers)。用F12打开Network一栏

然后随便点开一页,比如说第四页,可以看到内容栏的第一个以position开头的东西,自己点击查看下,之后再一层一层打开,在result下面有很多我们想要的信息。

然后可以点开到参数那里,最后一栏有“表单数据”,kd是我们搜索的关键词,pn是页数。first那里我也不知道是什么,不用管它。

把这个复制下到txt里,因为等等我们还有一些东西需要复制。

但我们现在可以开始写一些代码来测试下了。

接着来测试下我们有没有翻车!

html.status_code #返回200说明没翻车,对比404,返回的是404代表翻车了,200是服务器返回的正常消息

我的结果截图是:说明没问题,但不一定出现200就一定没问题。

再测试我们爬的内容↓

html.text #如果出现”操作频繁“就是是被反爬了,所以一定要实施反爬措施,其实反爬措施有好几种,浏览器代理、IP地址代理都可以

我出现的结果:说明爬取成功

接着,要思考下,我们需要爬什么内容,我想爬工作经验、地区、福利、待遇、企业名称等内容

在jupyter notebook里,Ctrl+F,输入companyid,然后选取你可能需要的字段

复制以后,粘贴到文本上,然后对自己需要的内容进行模糊匹配,就是把其变成(.*?),不需要的内容直接写成.*?,就是不用加括号。对这方面不熟的话,就去看看正则表达式

我是这么写的:

然后写代码进行正则提取:

⑤整合

到了这里我们可以把我们写的、测试的东西整合到一起了,

我们爬取的内容一共有30页,翻页用for循环来实现。for i in range的时候要慢慢爬,不能一下子就爬到很后面,这样也会被发现的。可以这样理解:你翻页翻太快很明显就不是人为的,所以很容易被反爬。所以这时候我们要import time,就是增加延时。time.sleep(2),停两秒在翻页。

但是每次都是停两秒才翻页的话,就太准确啦,也容易被反爬。所以再加载一个随机模块,来随机选取秒数,我将秒数设置为2到10秒。最后整合如下:

执行以上代码后可在文件夹里找到一个csv文件,要等一会的,不是马上就能爬好的。↓

工作经验学历什么的是我在这个文件里自己加上去的,你也可以自己在代码里写

现在来读取下这个csv文件↓

读取前面的内容

⑥绘图

查看学下历分类的状况以及计数

根据学历状况绘制柱形图↓

根据学历状况绘制条形图↓

根据”工作经验“绘制条形图↓

根据地区绘制饼图↓

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值