python爬取智联招聘网站招聘信息1000条id包含:编号、公司名称、学历要求、工作类型、工作名称、薪资、发布时间、截止时间、城市编码、公司规模、福利、岗位职责、地区、工作经验等信息,并以表格形式写入文本
时间: 2023-10-02 07:04:47 浏览: 116
好的,这个问题我可以回答。您可以使用Python的requests和BeautifulSoup库来爬取智联招聘的招聘信息。具体步骤如下:
1. 导入必要的库:
```python
import requests
from bs4 import BeautifulSoup
import csv
```
2. 构造URL并发送请求:
```python
url = 'https://fe-api.zhaopin.com/c/i/sou'
params = {
'pageSize': 60,
'cityId': 489,
'workExperience': -1,
'education': -1,
'companyType': -1,
'employmentType': -1,
'jobWelfareTag': -1,
'kw': 'Python',
'kt': 3,
'lastUrlQuery': {"p":1,"jl":"489","kw":"Python","kt":"3"}
}
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, params=params)
```
3. 解析响应内容:
```python
soup = BeautifulSoup(response.text, 'html.parser')
job_list = soup.find_all('div', {'class': 'joblist-box__item'})
with open('job_list.csv', 'w', encoding='utf-8', newline='') as csvfile:
writer = csv.writer(csvfile)
writer.writerow(['编号', '公司名称', '学历要求', '工作类型', '工作名称', '薪资', '发布时间', '截止时间', '城市编码', '公司规模', '福利', '岗位职责', '地区', '工作经验'])
for job in job_list:
job_id = job.get('data-jobid')
job_name = job.find('a', {'class': 'joblist-box__jobname'}).text.strip()
company_name = job.find('a', {'class': 'joblist-box__companyname'}).text.strip()
job_salary = job.find('span', {'class': 'joblist-box__salary'}).text.strip()
job_education = job.find('span', {'class': 'joblist-box__edu'}).text.strip()
job_experience = job.find('span', {'class': 'joblist-box__exp'}).text.strip()
job_city = job.find('span', {'class': 'joblist-box__jobarea'}).text.strip()
job_welfare = job.find_all('span', {'class': 'joblist-box__tag'})
job_welfare = [w.text.strip() for w in job_welfare]
job_welfare = '|'.join(job_welfare)
job_type = job.find('a', {'class': 'joblist-box__jobtype'}).text.strip()
job_publish_time = job.find('span', {'class': 'joblist-box__date'}).text.strip()
job_deadline = job.find('span', {'class': 'joblist-box__enddate'}).text.strip()
job_area = job.find('span', {'class': 'joblist-box__areaname'}).text.strip()
job_duty = job.find('div', {'class': 'joblist-box__jobdesc'}).text.strip()
job_scale = job.find('span', {'class': 'joblist-box__comdec'}).text.strip()
writer.writerow([job_id, company_name, job_education, job_type, job_name, job_salary, job_publish_time, job_deadline, job_city, job_scale, job_welfare, job_duty, job_area, job_experience])
```
这样,您就可以将爬取到的招聘信息以表格形式写入到job_list.csv文件中了。需要注意的是,您需要根据实际情况修改URL参数和文件路径等信息。
阅读全文