爬取求职网站的相关信息

代码如下:

import requests
import openpyxl
import time
from bs4 import BeautifulSoup #用于解析和提取网页数据的
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/72.0.3626.81 Safari/537.36 SE 2.X MetaSr 1.0'}  # 创建头部信息
    resp = requests.get(url, headers=headers)
    return resp.text
#进行数据的提取
def parse_html(html):
    bs=BeautifulSoup(html,'html.parser') #得到Bea--的对象了
    job_lst=bs.find_all('div',class_='c-job-list')#因为class是关键字,所以加一个下划线
    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])
#存储excel
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='10375749'
    pages=2
    start(id,pages)

运行结果:

 

 

 

posted @ 2020-08-01 17:16  喜欢爬的孩子  阅读(213)  评论(0编辑  收藏  举报