职友集招聘网(职友集人才招聘信息)
一、观察网页1.进入网页
首先通过谷歌浏览器搜索“职友集官网”,其网址为:

2.判断静态网页还是动态网页
打开我们求职意向的公司比如“微软公司”,进入F12开发者界面。将任意一求职岗位复制后在源代码处通过CTRL+F搜索相关信息,发现是否可以查到相同数据,若有职友集招聘网,则是静态网页。因此,该网站为静态网站。

二、发送请求1.导入第三方库
导入要使用的库,代码如下:
import requests
from bs4 import BeautifulSoup
import openpyxl #用于读写Excel文件
import time
2.请求数据
接下来提取网页基本属性,放入请求头参数,把python代码伪装成浏览器,对服务器发送请求。

代码展示如下:
url='https://www.jobui.com/company/64899/jobs/' headers={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.5359.95 Safari/537.36'}
resp=requests.get(url,headers=headers)
print(resp.text)
运行结果为:

以上是以微软公司网址为例进行数据的请求,需要提及的是如果我们想看其他公司的招聘信息的时候,每次在以上代码进行修改网址是具有局限性的。因此我们在地址栏处进行改变,我们把可变的改成该函数的参数,代码如下:
lst=[]
def send_request(id,page):
url='https://www.jobui.com/company/{0}/jobs/p{1}'.format(id,page)
headers={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.5359.95 Safari/537.36'}
resp=requests.get(url,headers=headers)
return resp.text
三、解析数据和提取数据
在源代码定位div标签,得到包含职位的div,然后分别遍历每一个职位数据,每个item就是一个c-job-lst职友集招聘网,从中查找职位名称h3,再定义name,最后进行输出。


代码如下:
def parse_html(html):
bs=BeautifulSoup(html,'html.parser') #得到BeautifulSoup的对象
job_lst=bs.find_all('div',class_='c-job-list') #得到包含职位的div
for item in job_lst:
name=item.find('h3').text #职位的名称
div_tag=item.find('div',class_='job-desc')
span_tag=div_tag.find_all('span')
url=item.find('a',class_='job-name')['href'] #提取class样式为job-name的a的标签,获取属性为href的值
lst.append([name,span_tag[0].text,span_tag[1].text,'https://www.jobui.com'+url])
def start(id,pages):
for page in range(1,pages+1):
resp_data=send_request(id,page) #发送请求
parse_html(resp_data)
time.sleep(2)
save(lst)
if __name__ == '__main__':
id='64899'
pages=3
start(id,pages)
四、储存数据
创建工作簿并将获取的数据保存至新建的excel表格中,代码如下:
def save(lst):
wk=openpyxl.Workbook()
sheet=wk.active
for item in lst:
sheet.append(item)
wk.save('招聘信息.xlsx')
五、全套代码及运行结果
全套代码如下:
import requests
from bs4 import BeautifulSoup
import openpyxl
import time
lst=[]
def send_request(id,page):
url='https://www.jobui.com/company/{0}/jobs/p{1}'.format(id,page)
headers={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.5359.95 Safari/537.36'}
resp=requests.get(url,headers=headers) #相当于在浏览器的地址栏中输入网址之后回车的过程
return resp.text
def parse_html(html): #html代表是从服务器端响应回来的数据(内容)
bs=BeautifulSoup(html,'html.parser') #得到BeautifulSoup的对象
job_lst=bs.find_all('div',class_='c-job-list') #得到包含职位的div,--》15
for item in job_lst: #分别遍历每一个职位数据 每个item就是一个c-job-lst
name=item.find('h3').text #职位的名称
div_tag=item.find('div',class_='job-desc')
span_tag=div_tag.find_all('span')
url=item.find('a',class_='job-name')['href'] #提取class样式为job-name的a的标签,获取属性为href的值
lst.append([name,span_tag[0].text,span_tag[1].text,'https://www.jobui.com'+url])
def save(lst):
wk=openpyxl.Workbook() #打开工作薄
sheet=wk.active
for item in lst:
sheet.append(item)
wk.save('招聘信息.xlsx')
def start(id,pages):
for page in range(1,pages+1):
resp_data=send_request(id,page)
parse_html(resp_data)
time.sleep(2)
save(lst)
if __name__ == '__main__':
id='64899'
pages=3
start(id,pages)
运行结果如下:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站不拥有所有权,不承担相关法律责任。如发现有侵权/违规的内容, 联系QQ3361245237,本站将立刻清除。

文章评论(0)