python爬取牛客网站招聘信息1000条id包含:编号、公司名称、学历要求、工作类型、工作名称、薪资、发布时间、截止时间、城市编码、公司规模、福利、岗位职责、地区、工作经验等信息,并以表格形式写入文本文件
时间: 2023-10-03 13:04:21 浏览: 184
基于python实现的牛客网面经数据抓取源码(课程作业).zip
好的,这是一个比较复杂的爬虫任务,需要使用Python中的requests、BeautifulSoup、re等库来实现。以下是一个简单的爬虫代码示例,你可以根据自己的需求进行修改和完善。
```python
import requests
from bs4 import BeautifulSoup
import re
# 获取牛客网招聘信息列表页面的HTML代码
url = 'https://www.nowcoder.com/job/center?recruitType=0&city=0&positionName=&page=1'
html = requests.get(url).text
# 使用BeautifulSoup解析HTML代码
soup = BeautifulSoup(html, 'html.parser')
# 获取招聘信息总页数
total_pages = int(soup.select('.pagination li')[-2].text)
# 定义正则表达式来提取招聘信息的ID
id_pattern = re.compile('/job/detail/(\d+)')
# 打开一个文本文件,准备写入数据
with open('job_info.txt', 'w', encoding='utf-8') as f:
# 写入表头
f.write('编号\t公司名称\t学历要求\t工作类型\t工作名称\t薪资\t发布时间\t截止时间\t城市编码\t公司规模\t福利\t岗位职责\t地区\t工作经验\n')
# 循环遍历每一页的招聘信息
for page in range(1, total_pages + 1):
# 构造当前页的URL
page_url = f'https://www.nowcoder.com/job/center?recruitType=0&city=0&positionName=&page={page}'
page_html = requests.get(page_url).text
page_soup = BeautifulSoup(page_html, 'html.parser')
# 获取当前页的所有招聘信息
job_list = page_soup.select('.job-list .job-item')
# 循环遍历每个招聘信息,提取需要的数据
for job in job_list:
job_id = id_pattern.search(job.select_one('a')['href']).group(1)
company_name = job.select_one('.job-title a').text.strip()
education = job.select_one('.job-title span').text.strip()
job_type = job.select_one('.job-type').text.strip()
job_name = job.select_one('.job-name').text.strip()
salary = job.select_one('.job-salary').text.strip()
publish_time = job.select_one('.job-pub-time').text.strip()
deadline = job.select_one('.job-deadline').text.strip()
city_code = job.select_one('.job-city').text.strip()
company_scale = job.select_one('.job-scale').text.strip()
welfare = job.select_one('.job-welfare').text.strip()
job_desc = job.select_one('.job-desc').text.strip()
area = job.select_one('.job-area').text.strip()
experience = job.select_one('.job-experience').text.strip()
# 将数据写入文本文件
f.write(f'{job_id}\t{company_name}\t{education}\t{job_type}\t{job_name}\t{salary}\t{publish_time}\t{deadline}\t{city_code}\t{company_scale}\t{welfare}\t{job_desc}\t{area}\t{experience}\n')
```
这个爬虫会访问牛客网的招聘信息列表页面,获取所有招聘信息的ID,并且根据每个招聘信息的ID访问对应的招聘信息页面,提取需要的数据并写入文本文件。需要注意的是,这个爬虫可能会触发牛客网的反爬机制,因此需要加入一些随机延时和设置UA头等措施。
阅读全文