2024年最全Python爬取boss直聘关于python招聘数据,高薪总是让人那么羡慕

可以看网页给我们返回的数据,复制数据,到response里面搜索,看请求网页返回的数据当中是否有需要的数据。

import requests # pip install requests

url = ‘https://www.zhipin.com/c100010000/?query=python&page=1&ka=page-1’

headers = {} # headers 复制开发者工具当中的即可

response = requests.get(url=url, params=params, headers=headers)

print(response.text)

二、分析网页数据结构


选择开发者工具中的 Elements 选择箭头 选择网页的数据,会自动跳转到网页标签中,告诉你这个数据是在网页标签里面的哪个位置。

在这里插入图片描述

如上图所示,每个企业招聘的数据都在 li 标签里面,我们只需要通过数据解析,提取所需要的数据即可。

import parsel # pip install parsel

response.encoding = response.apparent_encoding

selector = parsel.Selector(response.text)

lis = selector.css(‘#main .job-list ul li’) # 获取所有li标签

‘’’

通过获取网页中所有li标签,然后循环遍历,再分别提取li标签中所需要的数据

‘’’

dit = {}

创建一个字典接受数据,方便后续保存数据

for li in lis:

title = li.css(‘.job-name a::attr(title)’).get() # 标题

dit[‘标题’] = title

area = li.css(‘.job-area::text’).get() # 地区

dit[‘地区’] = area

xz_info = li.css(‘.red::text’).get() # 薪资

dit[‘薪资’] = xz_info

xl_list = li.css(‘.job-limit p::text’).getall() # 学历经验

xl_str = ‘|’.join(xl_list)

dit[‘学历经验’] = xl_str

js_list = li.css(‘.tags span::text’).getall() # 技能要求

js_str = ‘|’.join(js_list)

dit[‘技能要求’] = js_str

company = li.css(‘.company-text .name a::attr(title)’).get() # 公司名字

dit[‘公司名字’] = company

gz_info = li.css(‘.company-text p::text’).getall() # 工作类型

gz_str = ‘|’.join(gz_info)

dit[‘工作类型’] = gz_str

fl_info = li.css(‘.info-desc::text’).get() # 福利

dit[‘福利’] = fl_info

三、数据保存


import csv

创建文件

f = open(‘Boos直聘数据.csv’, mode=‘a’, encoding=‘utf-8-sig’, newline=‘’)

表头信息

csv_writer = csv.DictWriter(f, fieldnames=[‘标题’, ‘地区’, ‘薪资’, ‘学历经验’, ‘技能要求’, ‘公司名字’, ‘工作类型’, ‘福利’])

写入表头

csv_writer.writeheader()

‘’’

然后再把之前创建的接受数据的字典,保存即可

‘’’

csv_writer.writerow(dit) # 写到for循环内

四、多页爬取


‘’’

https://www.zhipin.com/c100010000/?query=python&page=1&ka=page-1

https://www.zhipin.com/c100010000/?query=python&page=2&ka=page-2

https://www.zhipin.com/c100010000/?query=python&page=3&ka=page-3

‘’’

现在能在网上找到很多很多的学习资源,有免费的也有收费的,当我拿到1套比较全的学习资源之前,我并没着急去看第1节,我而是去审视这套资源是否值得学习,有时候也会去问一些学长的意见,如果可以之后,我会对这套学习资源做1个学习计划,我的学习计划主要包括规划图和学习进度表。

分享给大家这份我薅到的免费视频资料,质量还不错,大家可以跟着学习

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里无偿获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 28
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
好的,我了解你的问题了。这是一个非常实用的问题,下面我将为你详细介绍Python爬取boss直聘招聘信息的实现方法。 首先,我们需要准备以下工具和库: - Python 3.6 或以上版本 - requests 库 - BeautifulSoup 库 - pandas 库 接下来,我们按照以下步骤进行实现: 1. 导入需要的库: ```python import requests from bs4 import BeautifulSoup import pandas as pd ``` 2. 定义一个函数,用于获取页面内容: ```python def get_page(url): headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'} response = requests.get(url, headers=headers) soup = BeautifulSoup(response.text, 'html.parser') return soup ``` 3. 定义一个函数,用于获取职位信息: ```python def get_jobs(soup): job_list = [] jobs = soup.select('.job-list ul li .job-primary .info-primary') for job in jobs: job_name = job.select('.job-title')[0].text.strip() company_name = job.select('.company-text .name')[0].text.strip() salary = job.select('.job-limit .red')[0].text.strip() job_info = job.select('.job-title')[0].attrs['href'] job_detail = get_job_detail(job_info) job_list.append([job_name, company_name, salary, job_detail]) return job_list ``` 4. 定义一个函数,用于获取职位的详细信息: ```python def get_job_detail(url): soup = get_page(url) job_detail = soup.select('.job-detail .job-sec')[0].text.strip().replace('\n', '') return job_detail ``` 5. 定义一个函数,用于保存数据到本地CSV文件: ```python def save_to_csv(job_list): df = pd.DataFrame(job_list, columns=['职位名称', '公司名称', '薪资待遇', '职位描述']) df.to_csv('boss直聘招聘信息.csv', index=False) ``` 6. 最后,我们编写主程序: ```python if __name__ == '__main__': url = 'https://www.zhipin.com/c101280100/?query=python&page=1' soup = get_page(url) job_list = get_jobs(soup) save_to_csv(job_list) ``` 在运行程序之前,我们需要先确定爬取的页面URL和参数。在本例中,我们爬取的是boss直聘上“python”职位的招聘信息,因此URL为“https://www.zhipin.com/c101280100/?query=python&page=1”,其中“c101280100”是城市代码,这里是上海的城市代码,可以根据需要修改。在“query”参数中输入关键词“python”,“page”参数表示页码。 运行程序后,会将爬取到的职位信息保存到本地的CSV文件中,文件名为“boss直聘招聘信息.csv”。 以上就是Python爬取boss直聘招聘信息的实现方法,希望对你有所帮助。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值