ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

python爬取招聘网站信息

2021-12-15 22:03:53  阅读:193  来源: 互联网

标签:web writer 表格 python 招聘 爬取 详情 csv


毕业将近,大部分学生面临找工作的压力,如何快速的找到自己心仪的岗位并且及时投递简历成为同学们关心的问题,我们设计和实现一个爬取boss直聘,招聘网站招聘信息的爬虫。功能有:对boss直聘网站招聘信息详情进行爬取,对爬取出的详情数据进行存储,将其储存到csv表格中,以及数据分析与数据展示。我在本项目中担任了数据爬取与数据存储模块。

 --对boss直聘网站招聘信息详情进行爬取,对爬取出的详情数据进行存储。是我担任的功能。这部分包括搜索想要爬取的工作岗位:

(1)打开指定浏览器、打开制定城市的boss直聘网站、找到搜索框、输入搜索内容、找到搜索按钮、点击搜索。

jobName = 'Java'  
cityName = 'chengdu'  
url = f'https://www.zhipin.com/{cityName}/'

def main():
    web = webdriver.Edge()#选择浏览器
    web.get(url)  # 打开获取url
    searchEle = web.find_element(By.CLASS_NAME, 'ipt-search')  # 找到输入框
    searchEle.send_keys(jobName)  # 输入框中填上工作名称
    btnSearch = web.find_element(By.CSS_SELECTOR, 'button.btn.btn-search')
    btnSearch.click()  # 模拟点击搜索按钮

 

(2)获取页面内容:获取弹出第一页页面内容、点击岗位详情、打印数据 将字符串转为数组储存到csv中,进行点击下一页。

 

pageS = 1
while pageS < 100:  # page循环

 

def getOnePage(web, writer):#获取一页内容并写入表格
    jobInfos = web.find_elements_by_class_name('job-primary')  # 模拟点击岗位详情
    for info in jobInfos:  # 迭代取出数据
        print(info.text)  # 打印岗位详情
        strText = info.text
        arrTxt = strText.split("\n")
        tmp = arrTxt[2].split("-")  # 将字符串变成数组
        arrTxt.insert(2, tmp[0])
        writer.writerow(arrTxt)  # 将数组写入表格

 

 

 

(3)创建新的csv表格进行数据存储:创建csv表格、写入表头数据、调用getonepage中的数据。

headerRow = [
    '岗位名称',
    '工作地点',
    '起薪',
    '薪资区间',
    '学历要求',
    '联系人',
    '公司名称',
    '业务范围',
    '岗位职责',
    '福利待遇',
]

def tableCreater():##创建新的csv表格
    with open(fileName, 'a', encoding='utf-8-sig', newline='') as csvfile:
        csv_writer = csv.DictWriter(csvfile, fieldnames=headerRow)
        csv_writer.writeheader()  # 写入表头数据

def getOnePage(web, writer):#获取一页内容并写入表格

 

 

标签:web,writer,表格,python,招聘,爬取,详情,csv
来源: https://www.cnblogs.com/czzz2021/p/15695518.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有