python爬取猎聘网站招聘信息1000条id包含:编号、公司名称、学历要求、工作类型、工作名称、薪资、发布时间、截止时间、城市编码、公司规模、福利、岗位职责、地区、工作经验等信息,并以表格形式写入文本
时间: 2023-10-01 19:09:31 浏览: 55
好的,这个问题需要用到 Python 爬虫和数据处理技术。我将给出一个简单的爬虫代码,可以爬取猎聘网站的招聘信息并将其保存到 CSV 文件中。
```python
import requests
from bs4 import BeautifulSoup
import csv
# 设置请求头
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'}
# 猎聘网站的 URL
url = 'https://www.liepin.com/zhaopin/?industries=&dqs=&salary=&jobKind=&pubTime=&compkind=&compscale=&industryType=&searchType=1&clean_condition=&isAnalysis=&init=-1&sortFlag=15&flushckid=1&fromSearchBtn=2&headckid=7d43a44e3a5c4a27&d_pageSize=40&siTag=I-7rQ0k3D8s9j1po7d3Q5Q~fA9rXquZc5IkJpXC-Ycixw&d_headId=8f7f5c2c44f3cc1bbf8123c0f88f8a3f&d_ckId=8f7f5c2c44f3cc1bbf8123c0f88f8a3f&d_sfrom=search_prime&d_curPage=0'
# 打开 CSV 文件
with open('job.csv', 'w', encoding='utf-8') as f:
writer = csv.writer(f)
# 写入表头
writer.writerow(['编号', '公司名称', '学历要求', '工作类型', '工作名称', '薪资', '发布时间', '截止时间', '城市编码', '公司规模', '福利', '岗位职责', '地区', '工作经验'])
# 爬取 1000 条招聘信息
for page in range(25):
params = {'curPage': page}
response = requests.get(url, headers=headers, params=params)
soup = BeautifulSoup(response.content, 'html.parser')
# 查找每个招聘信息的 HTML 元素
job_list = soup.find_all('div', class_='job-info')
# 解析 HTML 元素并写入 CSV 文件
for job in job_list:
job_id = job['data-jobid']
company_name = job['data-company']
edu_level = job.find('span', class_='edu').text.strip()
job_type = job.find('span', class_='job-type').text.strip()
job_name = job.find('a', class_='job-name').text.strip()
salary = job.find('span', class_='text-warning').text.strip()
pub_time = job.find('span', class_='time').text.strip()
end_time = job.find('p', class_='time-info').find_all('span')[1].text.strip()
city_code = job['data-district']
company_size = job.find('p', class_='company-info').find_all('span')[1].text.strip()
welfare = ','.join([tag.text.strip() for tag in job.find_all('span', class_='temptation')])
job_responsibility = job.find('div', class_='job-info').find_all('p')[1].text.strip()
area = job.find('p', class_='area').text.strip()
work_experience = job.find('p', class_='condition').find_all('span')[1].text.strip()
# 写入一条招聘信息
writer.writerow([job_id, company_name, edu_level, job_type, job_name, salary, pub_time, end_time, city_code, company_size, welfare, job_responsibility, area, work_experience])
print(f'已经爬取 {page+1} 页招聘信息')
print('所有招聘信息已经保存到 job.csv 文件中。')
```
这段代码会将 1000 条招聘信息爬取下来并保存到 `job.csv` 文件中。你可以根据你的需求修改代码中的 URL、请求头、字段名等参数。