使用Python爬取51job招聘网的数据

本文介绍了如何使用Python爬取51job招聘网站上的职位信息。首先通过分析网页源码找到职位URL,接着利用正则表达式获取URL,并通过xpath解析HTML获取公司名称、职位、岗位详情、地址和公司简介。最后,使用pandas存储爬取到的数据,并讨论了如何实现多页数据的爬取。
摘要由CSDN通过智能技术生成

使用Python爬取51job招聘网的数据

进行网站分析

进入https://www.51job.com/这个网站
在这里插入图片描述
我在这就以python为例搜索职位跳转到这个页面
在这里插入图片描述

按F12进行查看每个职位的信息在哪个包中
在这里插入图片描述
我们点进这个包中搜索
在这里插入图片描述
发现这组数据在Script标签中,类似于json数据,同时发现其链接的URL的键值为job_href我们可以写一个正则表达式来获取这些url方便后续获取信息,同时我们也发现这些url其实是被简单修改过的,我们需要用re.sub处理一下

real_url=[]
url = re.findall('"job_href":"(.*?)"',page_text,re.S)#职位详情URL
for each in url: #把url里的'\\/'改为'/',此时为真正的URL
    real_url.append(re.sub(r'\\/','/',each))

获取职位信息

我们已经找到了每一个职位对应的URL,于是我们遍历这个URL列表,爬取每一个职位对应的信息。

我们需要把公司名称,招聘职位,岗位信息,地址和公司简介爬取到
在这里插入图片描述

对页面里的HTML源码进行xpath解析,可以获取到上文的信息,要使用try…except…对异常数据进行处理

存储信息

我们可以使用pandas模块对爬到的数据进行存储,同时我们发现换页的时候只是其中一个参数发生过改变,我们也可以写一个循环来爬取多页

最终代码

import requests
import lxml.etree
import os
import time
import re
import pandas as pd
xiangxi = [] #详细信息
mingcheng = [] #公司名称
zhiwei = [] 
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值