BOSS直聘岗位python爬取2(完整代码+详细介绍)

BOSS直聘岗位python爬取

引用上篇对boss直聘每个岗位的源代码获取了之后,对字段的爬取

前言:https://blog.youkuaiyun.com/weixin_52001949/article/details/135452969
如有问题可私信关注博主
在这里插入图片描述

  • 工具:Python
  • 库文件:BeautifulSoup

1. 需要获取的字段

岗位名、岗位薪资、地区、工作地址、要求年限、学历、职位描述、岗位职责
公司名、公司规模、公司介绍、公司成立日期、行业
在这里插入图片描述
在这里插入图片描述

2 .利用beatifulsoup进行解析

将每个字段的信息放在一个列表里,每个岗位一个列表,
岗位=[‘bi1’,‘bi2’,…] ,公司名=[‘a’,‘b’,‘c’,…]
最后用pandas中的Pandas中的DataFrame做成表格输出excel。

  • 示例爬取

1. 关键字爬取

思路:

  • 定位class,用find_all 获取该ul下的所有li
  • 遍历所有li,获取li内的字符串
  • 在这里插入图片描述
    '职位关键字'
    职位关键字_text = soup.find(class_='job-keyword-list')
    '如果找不到的话该class,报错'
    if 职位关键字_text:
        text = [li.get_text(strip=True) for li in 职位关键字_text.find_all('li')]
    else :
        text='无'
    职位关键字.append(text)

在这里插入图片描述

2. 公司信息字段

  • 字段内容在p标签内,标签内含有一个 的标签。
  • 获取思路:找到包含i标签中class=‘icon-scale’ 的p标签
    在这里插入图片描述

select 方法返回的是一个列表,包含所有匹配的元素。如果没有找到匹配的元素,它会返回一个空列表。要注意的是,select 方法总是返回一个列表,即使只有一个元素匹配。如果你只对第一个匹配的元素感兴趣,可以使用 select_one 方法,它返回单个元素而不是列表。

  • soup.select_one:
  • 包含选择器: 选择包含类名为 .icon-scale 的 标签的

    标签。返回的是一个元素。

soup.select("p:has(i.icon-scale)")

示例代码:

公司规模=[]
公司规模_text = soup.select_one('p:has(i.icon-scale)')
if 公司规模_text:
   text=公司规模_text.get_text(strip=True)
   公司规模.append(text)
公司行业字段获取

同理找到class为icon-industry

在这里插入图片描述

  公司行业_text = soup.select_one('p:has(i.icon-industry)')
    if 公司行业_text:
        text=公司行业_text.get_text(strip=True)
        公司行业.append(text)

完整代码扫码获得
在这里插入图片描述

Python期末大作业Boss在线爬虫及数据分析可视化系统源码+文档说明,个人经导师指导并认可通过的高分设计项目,评审分99分,代码完整确保可以运行,小白也可以亲自搞定,主要针对计算机相关专业的正在做大作业的学生和需要项目实战练习的学习者,可作为毕业设计、课程设计、期末大作业,代码资料完整,下载可用。 Python期末大作业Boss在线爬虫及数据分析可视化系统源码+文档说明Python期末大作业Boss在线爬虫及数据分析可视化系统源码+文档说明Python期末大作业Boss在线爬虫及数据分析可视化系统源码+文档说明Python期末大作业Boss在线爬虫及数据分析可视化系统源码+文档说明Python期末大作业Boss在线爬虫及数据分析可视化系统源码+文档说明Python期末大作业Boss在线爬虫及数据分析可视化系统源码+文档说明Python期末大作业Boss在线爬虫及数据分析可视化系统源码+文档说明Python期末大作业Boss在线爬虫及数据分析可视化系统源码+文档说明Python期末大作业Boss在线爬虫及数据分析可视化系统源码+文档说明Python期末大作业Boss在线爬虫及数据分析可视化系统源码+文档说明Python期末大作业Boss在线爬虫及数据分析可视化系统源码+文档说明Python期末大作业Boss在线爬虫及数据分析可视化系统源码+文档说明Python期末大作业Boss在线爬虫及数据分析可视化系统源码+文档说明Python期末大作业Boss在线爬虫及数据分析可视化系统源码+文档说明Python期末大作业Boss在线爬虫及数据分析可视化系统源码+文档说明Python期末大作业Boss在线爬虫及数据分析可视化系统源码+文档说明Python期末大作业Boss在线爬虫及数据分析可视化系统源码+文档说
Python爬取Boss这类网站的岗位信息通常需要使用网络爬虫技术,比如使用`requests`库获取网页内容,然后使用如`BeautifulSoup`或`lxml`解析HTML。以下是一个简单的步骤概述: 1. **安装必要的库**: 首先需要安装`requests`、`beautifulsoup4`和`lxml`等库,如果还没有安装,可以使用pip命令: ``` pip install requests beautifulsoup4 lxml ``` 2. **发送请求**: 使用`requests.get()`函数发送GET请求到指定的URL,例如职位列表页。 ```python import requests url = "https://www.zhipin.com/jobs/" response = requests.get(url) ``` 3. **解析响应内容**: 使用BeautifulSoup解析返回的HTML内容,找到包含岗位信息的部分。这通常涉及到CSS选择器或XPath的选择。 ```python from bs4 import BeautifulSoup soup = BeautifulSoup(response.text, 'lxml') job_elements = soup.select('.job-item') # 这里的'.job-item'需要根据实际HTML结构调整 ``` 4. **提取数据**: 对每个抓取到的岗位元素,提取出关键信息,如职位名称、薪资、地点等。可以遍历`job_elements`并使用`.text`属性获取文本内容。 5. **保存数据**: 将提取的信息保存到文件、数据库或其他合适的数据结构中。 ```python jobs_data = [] for element in job_elements: title = element.find('h3').text salary = element.find('span', class_='salary').text location = element.find('p', class_='location').text jobs_data.append({ 'title': title, 'salary': salary, 'location': location }) ``` 6. **处理异常和登录验证**: 部分网站可能会有反爬机制,比如需要登录才能访问某些页面,或者设置了一些动态加载的内容。这时可能需要模拟登录,使用session管理,或者分析JavaScript动态加载的内容。 请注意,爬取网站数据可能会违反该网站的服务条款,甚至触犯法律。在爬取前务必了解目标网站的robots.txt规则,并确保遵守相关法律法规。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值