python使用bs4爬取boss直聘静态页面

yizhihongxing

在本攻略中,我们将介绍如何使用Python的BeautifulSoup库爬取BOSS直聘的静态页面。我们将提供两个示例,演示如何使用BeautifulSoup库提取职位信息和公司信息。

步骤1:获取页面内容

在开始之前,我们需要获取目标页面的内容。我们可以使用Python的requests库来获取页面内容。在本攻略中,我们将使用requests库来获取页面内容。

import requests

url = 'https://www.zhipin.com/c101280100/?query=python&page=1'
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)
html = response.text

在上面的代码中,我们首先定义了一个名为url的变量,存储了目页面的URL。然后,我们定义了一个名为headers的字典,存储了请求头信息。接着,我们使用requests库的get()方法发送HTTP请求并获取响应数据的文本内容。

步骤2:使用BeautifulSoup库提取职位信息

我们可以按照以下步骤来使用BeautifulSoup库提取职位信息:

  1. 导入BeautifulSoup库。
from bs4 import BeautifulSoup
  1. 创建BeautifulSoup对象。
soup = BeautifulSoup(html, 'html.parser')

在上面的代码中,我们使用BeautifulSoup库的构造函数创建了一个名为soup的BeautifulSoup对象,并将目标页面的HTML文本内容作为参数传入。

  1. 使用find_all()方法提取职位信息。
job_list = soup.find_all('div', {'class': 'job-primary'})
for job in job_list:
    job_name = job.find('div', {'class': 'job-title'}).text.strip()
    company_name = job.find('div', {'class': 'company-text'}).a.text.strip()
    salary = job.find('span', {'class': 'red'}).text.strip()
    print(job_name, company_name, salary)

在上面的代码中,我们使用BeautifulSoup对象的find_all()方法查找页面内的所有职位信息,并使用for循环遍历每个职位信息。然后,我们使用find()方法查找职位名称、公司名称和薪资信息,并使用text属性获取文本内容。最后,我们打印输出职位名称、公司名称和薪资信息。

以下是一个示例代码,演示如何使用BeautifulSoup库提取BOSS直聘的职位信息:

from bs4 import BeautifulSoup
import requests

url = 'https://www.zhipin.com/c101280100/?query=python&page=1'
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)
html = response.text

soup = BeautifulSoup(html, 'html.parser')
job_list = soup.find_all('div', {'class': 'job-primary'})
for job in job_list:
    job_name = job.find('div', {'class': 'job-title'}).text.strip()
    company_name = job.find('div', {'class': 'company-text'}).a.text.strip()
    salary = job.find('span', {'class': 'red'}).text.strip()
    print(job_name, company_name, salary)

在上面的代码中,我们首先使用requests库获取了目标页面的HTML文本内容。然后,使用BeautifulSoup库的构造函数创建了一个名为soup的BeautifulSoup对象,并将目标页面的HTML文本内容作为参数传入。最后,我们使用find_all()方法提取职位信息,并打印输出职位名称、公司名称和薪资信息。

步骤3:使用BeautifulSoup库提取公司信息

我们可以按照以下步骤来使用BeautifulSoup库提取公司信息:

  1. 导入BeautifulSoup库。
from bs4 import BeautifulSoup
  1. 创建BeautifulSoup对象。
soup = BeautifulSoup(html, 'html.parser')

在上面的代码中,我们使用BeautifulSoup库的构造函数创建了一个名为soup的BeautifulSoup对象,并将目标页面的HTML文本内容作为参数传入。

  1. 使用find_all()方法提取公司信息。
company_list = soup.find_all('div', {'class': 'company-text'})
for company in company_list:
    company_name = company.a.text.strip()
    company_info = company.p.text.strip()
    print(company_name, company_info)

在上面的代码中,我们使用BeautifulSoup对象的find_all()方法查找页面内的所有公司信息,并使用for循环遍历每个公司信息。然后,我们使用find()方法查找公司名称和公司信息,并使用text属性获取文本内容。最后,我们打印输出公司名称和公司信息。

以下是一个示例代码,演示如何使用BeautifulSoup库提取BOSS直聘的公司信息:

from bs4 import BeautifulSoup
import requests

url = 'https://www.zhipin.com/c101280100/?query=python&page=1'
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)
html = response.text

soup = BeautifulSoup(html, 'html.parser')
company_list = soup.find_all('div', {'class': 'company-text'})
for company in company_list:
    company_name = company.a.text.strip()
    company_info = company.p.text.strip()
    print(company_name, company_info)

在上面的代码中,我们首先使用requests库获取了目标页面的HTML文本内容。然后,使用BeautifulSoup库的构造函数创建了一个名为soup的BeautifulSoup对象,并将目标页面的HTML文本内容作为参数传入。最后,我们使用find_all()方法提取公司信息,并打印输出公司名称和公司信息。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python使用bs4爬取boss直聘静态页面 - Python技术站

(0)
上一篇 2023年5月15日
下一篇 2023年5月15日

相关文章

  • python插入排序算法的实现代码

    下面是详细讲解“Python插入排序算法的实现代码”的完整攻略,包含两个示例说明。 插入算法 插入排序算法是一种简单的排序算法,它的基本思想是待排序的序列分为已排序和未排序两部分,然后将未排序的元素逐个插入到已排序的序列中,直到整个序列有序为止。 Python插入排序算法的实现 下面是一个示例代码,用于实现插入算法: def insertion_sort(a…

    python 2023年5月14日
    00
  • Python中Yield的基本用法

    Python中Yield的基本用法 Python中的yield关键字在生成器函数中有着非常重要的作用,它可以把普通函数转化为生成器函数,并支持迭代器的使用,非常方便地生成可迭代对象。 1. 生成器函数的定义 在Python中,通过定义yield的函数成为生成器函数。与普通函数不同的是,生成器函数不是一次性返回所有结果,而是通过中断和恢复的方式,生成序列中的下…

    python 2023年5月18日
    00
  • Python求平面内点到直线距离的实现

    Python求平面内点到直线距离的实现 什么是点到直线距离? 点到直线距离指的是平面内一个点到直线的最短距离。 求解点到直线距离的公式 设平面内一点$P(x_0,y_0)$,直线方程为$Ax+By+C=0$,点$P$到直线距离为$d$,则有如下公式: $$d = \frac {|Ax_0 + By_0 +C|} {\sqrt{A^2+B^2}}$$ Pyth…

    python 2023年6月3日
    00
  • Python文件简单操作及openpyxl操作excel文件详解

    Python文件简单操作及openpyxl操作excel文件详解 Python文件简单操作 文件的打开和关闭 使用open()函数可以打开指定的文件,该函数包含两个参数:第一个参数是文件的路径,第二个参数是文件的打开模式。常见的文件打开模式如下: r: 以只读方式打开文件 w: 以写入方式打开文件,如果文件不存在则创建文件,如果文件已存在则覆盖文件内容 a:…

    python 2023年6月3日
    00
  • Python各种扩展名区别点整理

    Python是一种高级编程语言,常用于数据分析、Web开发和机器学习等领域。在Python中,扩展名指的是文件的扩展名,不同的扩展名代表不同类型的文件和不同的用途。本文将详细讲解Python各种扩展名的区别点,并提供相应示例进行说明。 .py文件 .py文件是Python程序的标准扩展名,用于保存Python源代码。Python源代码是一种文本文件,可以使用…

    python 2023年5月31日
    00
  • 基于Python实现开发钉钉通知机器人

    下面是基于Python实现开发钉钉通知机器人的完整攻略,包含以下几个步骤: 注册钉钉开发者账号 创建机器人 获取机器人Webhook地址并测试 编写Python代码实现机器人通知功能 详细说明如下: 注册钉钉开发者账号 首先需要注册一个钉钉开发者账号并登录进入开发者后台,如果已有账号则可以直接登录。 创建机器人 进入开发者后台的「机器人」页面,选择「自定义机…

    python 2023年5月23日
    00
  • Python正则表达式 r'(.*) are (.*?) .*’的深入理解

    Python正则表达式 r'(.) are (.?) .*’的深入理解 正则表达式是一种强大的文本处理工具,可以用于各种本处理任务,如数据清洗、文本分析、信息提取等。在Python中,我们可以使用re模块来操作正则表达式。本攻略将详细讲解Python正则表达式中的r'(.) are (.?) .*’,括正则表达式中的元字符、获组、非贪婪匹配等概念,以及如何使…

    python 2023年5月14日
    00
  • Python如何实现机器人聊天

    下面是Python如何实现机器人聊天的完整攻略: 1.选择合适的机器人框架 目前在Python中有很多机器人框架可供选择,比较流行的有ChatterBot、BotStar、Rasa等。根据项目需求选择合适的机器人框架是很重要的。比如ChatterBot适用于构建基于文本的对话系统,Rasa适用于构建先进的交互式机器人等等,不同的框架使用方法和实现也各有不同,…

    python 2023年5月23日
    00
合作推广
合作推广
分享本页
返回顶部