职友集招聘网(职友集人才招聘信息)


一、观察网页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,本站将立刻清除。