Python爬虫小例子——爬取51job发布的工作职位

Python爬虫小例子——爬取51job发布的工作职位

本文将介绍如何使用Python爬虫爬取51job发布的工作职位,并提供两个示例。

爬取51job发布的工作职位

51job是国内知名的招聘网站,提供了大量的工作职位信息。我们可以使用Python爬虫爬取51job发布的工作职位,并将其保存到本地文件中。下面是爬取51job发布的工作职位的步骤:

1. 分析网页结构

首先,我们需要分析51job网页的结构,确定需要爬取的信息。打开51job网站,搜索关键词,如“Python开发工程师”,然后按照要求筛选,如“工作经验1-3年”,“学历本科”,“公司性质不限”,“公司规模不限”,“发布时间最近一个月”,最后点击搜索按钮。

在搜索结果页面中,我们可以看到每个工作职位的信息,包括职位名称、公司名称、工作地点、薪资、发布时间等。我们需要爬取的信息包括职位名称、公司名称、工作地点、薪资和发布时间。

2. 编写爬虫代码

在分析完网页结构后,我们可以编写Python爬虫代码来爬取51job发布的工作职位。下面是一个爬取51job发布的工作职位的示例:

import requests
from bs4 import BeautifulSoup

url = 'https://search.51job.com/list/010000,000000,0000,00,9,99,Python,2,1.html'
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)
soup = BeautifulSoup(response.text, 'html.parser')

job_list = soup.find_all('div', class_='el')

for job in job_list:
    job_name = job.find('a', target='_blank').text.strip()
    company_name = job.find('span', class_='t2').text.strip()
    location = job.find('span', class_='t3').text.strip()
    salary = job.find('span', class_='t4').text.strip()
    publish_time = job.find('span', class_='t5').text.strip()

    print(job_name, company_name, location, salary, publish_time)

在上面的代码中,我们首先导入requests库和BeautifulSoup库,然后定义一个URL和请求头headers。接着,我们使用requests库的get()方法发送HTTP请求,并将响应保存在response变量中。最后,我们使用BeautifulSoup库解析HTML文档,并使用find_all()方法查找所有工作职位的信息。最后,我们使用for循环遍历每个工作职位的信息,并使用find()方法查找职位名称、公司名称、工作地点、薪资和发布时间。

3. 运行爬虫代码

在编写完爬虫代码后,我们可以使用Python解释器运行代码,并查看爬取的结果。下面是一个运行爬虫代码的示例:

python job_spider.py

在上面的代码中,我们使用Python解释器运行job_spider.py文件,并查看爬取的结果。

示例

下面是两个爬取51job发布的工作职位的示例:

示例一:爬取Python开发工程师工作职位

我们可以使用Python爬虫爬取51job发布的Python开发工程师工作职位,并将其保存到本地文件中。下面是一个爬取Python开发工程师工作职位的示例:

import requests
from bs4 import BeautifulSoup

url = 'https://search.51job.com/list/010000,000000,0000,00,9,99,Python,2,1.html'
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)
soup = BeautifulSoup(response.text, 'html.parser')

job_list = soup.find_all('div', class_='el')

with open('job.txt', 'w', encoding='utf-8') as f:
    for job in job_list:
        job_name = job.find('a', target='_blank').text.strip()
        company_name = job.find('span', class_='t2').text.strip()
        location = job.find('span', class_='t3').text.strip()
        salary = job.find('span', class_='t4').text.strip()
        publish_time = job.find('span', class_='t5').text.strip()

        f.write(f'{job_name}\t{company_name}\t{location}\t{salary}\t{publish_time}\n')

在上面的代码中,我们使用Python爬虫爬取51job发布的Python开发工程师工作职位,并将其保存到本地文件job.txt中。

示例二:爬取Java开发工程师工作职位

我们可以使用Python爬虫爬取51job发布的Java开发工程师工作职位,并将其保存到本地文件中。下面是一个爬取Java开发工程师工作职位的示例:

import requests
from bs4 import BeautifulSoup

url = 'https://search.51job.com/list/010000,000000,0000,00,9,99,Java,2,1.html'
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)
soup = BeautifulSoup(response.text, 'html.parser')

job_list = soup.find_all('div', class_='el')

with open('job.txt', 'w', encoding='utf-8') as f:
    for job in job_list:
        job_name = job.find('a', target='_blank').text.strip()
        company_name = job.find('span', class_='t2').text.strip()
        location = job.find('span', class_='t3').text.strip()
        salary = job.find('span', class_='t4').text.strip()
        publish_time = job.find('span', class_='t5').text.strip()

        f.write(f'{job_name}\t{company_name}\t{location}\t{salary}\t{publish_time}\n')

在上面的代码中,我们使用Python爬虫爬取51job发布的Java开发工程师工作职位,并将其保存到本地文件job.txt中。

总结

本文介绍了如何使用Python爬虫爬取51job发布的工作职位,包括分析网页结构、编写爬虫代码和运行爬虫代码。需要注意的是,在爬取网页时,需要正确设置请求头和解析HTML文档。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python爬虫小例子——爬取51job发布的工作职位 - Python技术站

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

相关文章

  • 如何使用python获取计数和以前的比较

    【问题标题】:How to get comparison between count and previous using python如何使用python获取计数和以前的比较 【发布时间】:2023-04-05 18:43:01 【问题描述】: 我想比较当前和以前的两件事,我该如何实现,谁能帮助我提前谢谢你 import threading import …

    Python开发 2023年4月6日
    00
  • Python 函数头等对象

    Python 中的函数不仅仅是执行代码的一段程序,还可以被当做一个对象来使用。这种特殊的对象被称为函数头等对象,也就是函数可以像变量一样直接使用。在这里,我们将详细说明如何使用Python函数头等对象以及常见的用法。 函数头等对象的使用方法 获取函数对象: Python 中定义函数后,可以通过直接将函数名赋值给变量来获取函数头等对象。例如,f = funct…

    python-answer 2023年3月25日
    00
  • 详解Python PIL ImageChops.constant()

    Python PIL库中的ImageChops模块提供了常见的图像处理函数。其中,ImageChops.constant函数允许我们针对输入图像创建一个常量值图像,并返回这个常量值图像。 以下是ImageChops.constant函数的完整攻略: 函数定义 ImageChops.constant(mode, size, color) 参数说明 mode: …

    python-answer 2023年3月25日
    00
  • Python 自动化常用操作及glob使用大全

    下面我就来详细讲解一下关于“Python 自动化常用操作及glob使用大全”的完整攻略。本文主要介绍如何用Python实现自动化操作,包括文件操作、网络请求、图像处理等,并介绍了使用glob模块查询文件的方法。 一、Python 自动化常用操作 本节主要介绍一些Python自动化操作的示例。 1. 文件操作 创建文件夹 import os os.mkdir(…

    python 2023年5月19日
    00
  • python生成随机数、随机字符、随机字符串的方法示例

    当我们开发Python程序时,经常需要使用到随机数、随机字符及随机字符串,因此了解如何生成这些随机值是非常重要的。在python中,我们可以通过random模块来生成随机数、随机字符及随机字符串,接下来我将详细讲解如何使用random模块生成这些随机值,并提供两个示例作为说明。 生成随机数 在Python中,生成随机数的方法非常简单。我们可以使用random…

    python 2023年6月3日
    00
  • Python实战项目之MySQL tkinter pyinstaller实现学生管理系统

    Python实战项目之MySQL tkinter pyinstaller实现学生管理系统是一个完整的项目,主要包含以下步骤: 数据库设计与创建 在MySQL中创建一个学生表,包含学生编号、学生姓名、性别、年龄和联系方式等字段,可以使用下面的SQL语句实现: DROP TABLE IF EXISTS student; CREATE TABLE student …

    python 2023年5月30日
    00
  • python高级特性简介

    Python高级特性简介 一. 简介 Python是一个十分强大的语言,它尤其擅长处理数据,具有很多有用的高级特性,用这些特性可以极大地简化代码、提高效率。本文将介绍一些Python高级特性,帮助你更好地理解Python语言。 二. 列表推导式 列表推导式可以通过一种简单的方式创建列表。你可以通过一行代码实现以前需要写很多行代码才能实现的功能。示例如下: 示…

    python 2023年6月3日
    00
  • Python进阶多线程爬取网页项目实战

    Python进阶多线程爬取网页项目实战 在本项目中,我们将使用Python多线程技术来爬取网页数据。我们将使用Python的requests和BeautifulSoup库来解析网页数据,并使用Python的threading库实现多线程。 步骤一:导入库 首先,我们需要导入所需的库。我们将使用requests和BeautifulSoup库来获取和解析网页数据…

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