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

在本攻略中,我们将介绍如何使用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日

相关文章

  • opencv python 图像轮廓/检测轮廓/绘制轮廓的方法

    下面是详细的讲解“opencv python 图像轮廓/检测轮廓/绘制轮廓的方法”的完整攻略。 检测轮廓 检测图像轮廓的方法主要是通过cv2.findContours函数实现,该函数接收三个参数,分别是输入图像、轮廓检索方式以及轮廓近似方法。返回值是包含检测到的轮廓信息的列表。以下是检测轮廓的基本步骤: 读入一张图片并转化为灰度图。 import cv2 i…

    python 2023年5月18日
    00
  • Python序列化模块JSON与Pickle

    Python序列化模块JSON与Pickle 序列化是将数据结构或对象转换为序列化的格式,以便它可以存储或传输。Python提供了两个标准序列化模块,即JSON和Pickle。JSON模块序列化的结果是字符串,它适用于网络传输,而Pickle模块序列化的结果是二进制,它适用于本地存储。 JSON模块 JSON是一种轻量级数据交换格式,易于人类阅读和编写,同时…

    python 2023年6月2日
    00
  • python 3.6.5 安装配置方法图文教程

    下面是针对“Python3.6.5安装配置方法图文教程”的详细攻略。 一、下载Python3.6.5 首先需要从官网下载Python3.6.5的安装包,下载地址为: https://www.python.org/downloads/release/python-365/ 选择VS2017版本下载并保存在本地。 二、安装Python3.6.5 下载完成后,双击…

    python 2023年5月14日
    00
  • Python selenium如何打包静态网页并下载

    使用Python及其库selenium可以方便地自动化执行web页面操作,并且可以将web页面中的数据和内容下载到本地进行处理。下面介绍如何使用Python和selenium将web页面静态化并下载。 1. 安装Python与selenium库 首先需要确保安装了Python及其库selenium。可以使用以下命令进行安装: pip install sele…

    python 2023年6月3日
    00
  • Python3读取文件的操作详解

    Python3读取文件的操作详解 在Python中,读取文件是很常见的操作,本文将详细讲解如何在Python中读取文件。 打开文件 在Python中,打开文件需要使用到Python内置的open()函数。该函数有两个参数:文件名和模式。文件名可以是相对路径或绝对路径,模式用于指定文件打开后的读写模式。常见的文件打开模式如下: ‘r’:只读模式,文件指针位于文…

    python 2023年6月3日
    00
  • Python 矩阵转置的几种方法小结

    下面是针对“Python 矩阵转置的几种方法小结”的详细攻略: 标题 Python 矩阵转置的几种方法小结 简介 矩阵转置是数据分析、机器学习等领域经常使用的操作,Python提供了多种方法来实现矩阵转置。本文将对这些方法进行归纳总结,以便读者更好地了解这一操作的实现方式。 思路 我们将介绍以下几种Python实现矩阵转置的方法:使用numpy、zip、pa…

    python 2023年6月5日
    00
  • 解决Python报错:ValueError:operands could not be broadcast together…

    解决Python报错:ValueError:operands could not be broadcast together… 在Python中,当我们进行数组运算时,可能会遇到“ValueError: operands could not broadcast together…”的报错。这个报错通常是由于数组的形状不匹配致的。本攻略将介绍如何解决这…

    python 2023年5月13日
    00
  • python监控文件并且发送告警邮件

    请参考以下的完整攻略: Python监控文件并发送告警邮件 概述 本文将介绍如何使用Python编写一个可以监控特定文件夹内文件变化并且在出现变化时发送告警邮件的脚本。 前置条件 在开始操作之前,你需要拥有以下环境: Python3环境 一个可用的邮件账号和SMTP服务器地址 实现步骤 导入所需要的库 我们需要导入os,time,和smtplib库 impo…

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