利用python爬取前程无忧网的所有的职位名称、薪资水平、招聘单位、工作地点、工作经验、学历要求、工作内容(岗位职责)、任职要求(技能要求),并且保存在生成的一个文件里面
时间: 2023-09-06 08:07:48 浏览: 225
基于python的51job工作岗位数据分析与可视化-交互式数据可视化期末作业项目.zip
5星 · 资源好评率100%
好的,这是一个比较典型的 Python 爬虫任务,需要用到 requests 和 BeautifulSoup 这两个库来实现。以下是一个简单的示例代码,供您参考:
```python
import requests
from bs4 import BeautifulSoup
# 定义爬取的网址
url = 'https://search.51job.com/list/000000,000000,0000,00,9,99,Python%2B%25E7%2588%25AC%25E8%2599%25AB,2,1.html'
# 发送请求并获取网页内容
response = requests.get(url)
html = response.text
# 使用 BeautifulSoup 解析网页内容,提取数据
soup = BeautifulSoup(html, 'html.parser')
job_list = soup.find_all('div', class_='el')
data = []
for job in job_list:
# 提取职位名称
job_name = job.find('a', class_='jobname').text.strip()
# 提取薪资水平
salary = job.find('span', class_='t4').text.strip()
# 提取招聘单位
company = job.find('a', class_='t2').text.strip()
# 提取工作地点
location = job.find('span', class_='t3').text.strip()
# 提取工作经验和学历要求
exp_edu = job.find('span', class_='t5').text.strip().split('|')
# 提取工作内容和任职要求
detail_url = job.find('a', class_='jobname')['href']
detail_resp = requests.get(detail_url)
detail_html = detail_resp.text
detail_soup = BeautifulSoup(detail_html, 'html.parser')
detail_job = detail_soup.find('div', class_='bmsg job_msg inbox')
job_desc = detail_job.find('p', class_='fp').text.strip()
job_requirement = detail_job.find('div', class_='job_msg').text.strip()
# 将提取的数据存入字典
job_data = {
'职位名称': job_name,
'薪资水平': salary,
'招聘单位': company,
'工作地点': location,
'工作经验': exp_edu[0].strip(),
'学历要求': exp_edu[1].strip(),
'工作内容': job_desc,
'任职要求': job_requirement
}
data.append(job_data)
# 将数据保存到文件中
with open('jobs.txt', 'w', encoding='utf-8') as f:
for job in data:
f.write(str(job) + '\n')
```
这段代码可以爬取前程无忧上 Python 爬虫相关的职位信息,并将提取的数据保存到一个名为 `jobs.txt` 的文件中。您可以根据实际情况进行调整和修改。
阅读全文