python爬取boss直聘招聘信息100条,每条包含:公司名称、学历要求、工作类型、工作名称、薪资、城市名称、公司规模、岗位职责、工作经验等信息并写入txt文件中
时间: 2023-09-13 11:04:02 浏览: 54
使用Selenium对Boss直聘网站进行爬虫,将招聘信息存入MongoDB,并对岗位要求分词生成词云。
5星 · 资源好评率100%
好的,这个任务可以使用 Python 的 requests 和 BeautifulSoup 库实现。下面是代码实现:
```python
import requests
from bs4 import BeautifulSoup
# 爬取的链接
url = 'https://www.zhipin.com/job_detail/?query=python&page='
# 设置请求头
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'}
# 打开文件
with open('boss.txt', 'w', encoding='utf-8') as f:
# 爬取前100页
for i in range(1, 101):
response = requests.get(url + str(i), headers=headers)
soup = BeautifulSoup(response.text, 'html.parser')
# 获取职位列表
job_list = soup.find('div', {'class': 'job-list'})
# 获取每个职位信息
for job in job_list.find_all('div', {'class': 'job-primary'}):
# 公司名称
company_name = job.find(
'div', {'class': 'company-text'}).a.text.strip()
# 学历要求
education = job.find('span', {'class': 'edu'}).text.strip()
# 工作类型
job_type = job.find('span', {'class': 'job-type'}).text.strip()
# 工作名称
job_name = job.find('div', {'class': 'job-title'}).text.strip()
# 薪资
salary = job.find('span', {'class': 'red'}).text.strip()
# 城市名称
city = job.find('span', {'class': 'job-area'}).text.strip()
# 公司规模
company_size = job.find('p').text.strip()
# 获取职位详细信息
job_detail_url = job.find(
'div', {'class': 'info-primary'}).h3.a['href']
job_detail_response = requests.get(
'https://www.zhipin.com' + job_detail_url, headers=headers)
job_detail_soup = BeautifulSoup(
job_detail_response.text, 'html.parser')
# 岗位职责
job_duty = job_detail_soup.find(
'div', {'class': 'job-sec'}).find_all('div')[1].text.strip()
# 工作经验
experience = job_detail_soup.find(
'div', {'class': 'job-sec'}).find_all('div')[0].text.strip()
# 将信息写入文件
f.write('公司名称:' + company_name + '\n')
f.write('学历要求:' + education + '\n')
f.write('工作类型:' + job_type + '\n')
f.write('工作名称:' + job_name + '\n')
f.write('薪资:' + salary + '\n')
f.write('城市名称:' + city + '\n')
f.write('公司规模:' + company_size + '\n')
f.write('岗位职责:' + job_duty + '\n')
f.write('工作经验:' + experience + '\n\n')
```
这个代码会爬取 boss 直聘上前100页的 Python 职位信息,并将每条信息包含的公司名称、学历要求、工作类型、工作名称、薪资、城市名称、公司规模、岗位职责、工作经验等信息写入 boss.txt 文件中。
阅读全文