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

yizhihongxing

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中使用itertools模块中的组合函数的教程

    下面是关于在Python中使用itertools模块中的组合函数的教程攻略。 什么是组合 组合是指从一个集合中取出若干元素,组成一个新的集合的方法。元素取出的顺序不重要,元素不能重复。 itertools模块 itertools模块包含了一些用来生成迭代器的函数。其中,组合函数被定义在itertools.combinations和itertools.comb…

    python 2023年6月3日
    00
  • python中requests库+xpath+lxml简单使用

    以下是关于Python中requests库+xpath+lxml简单使用的攻略: Python中requests库+xpath+lxml简单使用 在Python中,可以使用requests库、xpath和lxml库进行网页解析。是Python中requests库+xpath+lxml简单使用的攻略。 使用requests库获取网页内容 使用requests库…

    python 2023年5月14日
    00
  • 深入理解Python虚拟机中浮点数(float)的实现原理及源码

    让我来详细讲解一下“深入理解Python虚拟机中浮点数(float)的实现原理及源码”的攻略。 什么是 Python 中的浮点数? 浮点数是一种带小数部分的数字。在 Python 中,浮点数与整数一样是一种数据类型,用于表示一些需要带小数点的数值,如 3.14、1.5 等。 Python 中浮点数的实现原理 Python 中的浮点数遵循 IEEE 754 标…

    python 2023年5月23日
    00
  • Python中Tkinter组件Listbox的具体使用

    Python中Tkinter组件Listbox的具体使用 在Python的Tkinter库中,Listbox是一种用于显示列表的组件。它可以用于显示一组项,用户可以从中一个或多个选项。本文将详细介绍如何在Python中使用Tkinter库中的Listbox组件,括如何创建Listbox、如何向Listbox中添加选项、如何获取选中的选项等。 创建Listbo…

    python 2023年5月13日
    00
  • Python中为feedparser设置超时时间避免堵塞

    为feedparser设置超时时间是为了避免程序在解析长时间未响应的RSS或Atom Feed时发生堵塞。以下是在Python中为feedparser设置超时时间的步骤: 步骤 1:导入feedparser库 首先要导入feedparser库,在Python中使用import命令即可导入该库: import feedparser 步骤 2:使用Python的…

    python 2023年6月3日
    00
  • Python函数any()和all()的用法及区别介绍

    Python函数any()和all()的用法及区别介绍 1. any()函数 1.1 概述 python内置的any()函数用于判断可迭代对象中的元素是否存在True值,如果存在则返回True,否则返回False。 1.2 语法 any(iterable) 1.3 参数解释 iterable : 可迭代对象(列表、元组、字典、集合、字符串等); 1.4 返回…

    python 2023年5月14日
    00
  • 手把手教你怎么用Python实现zip文件密码的破解

    现在我来为你详细讲解如何用Python实现zip文件密码的破解。 1. 准备工作 在开始之前,你需要安装 pyzipper 库来对 zip 文件进行操作,以及 argparse 库来处理命令行参数。你可以使用以下命令来安装这两个库: pip3 install argparse pyzipper 2. 破解过程 2.1 密码破解函数 我们将使用一个名为 bru…

    python 2023年6月3日
    00
  • 在Python的Flask框架中实现全文搜索功能

    以下是“在Python的Flask框架中实现全文搜索功能”的完整攻略: 一、全文搜索功能的基本原理 全文搜索是一种基于文本内容的搜索技术,它可以在文本中查找特定的关键字或短语,并返回包含这些关键字或短语的文本。全文搜索通常使用倒排索引(Inverted Index)来实现,它将文本中的每个单词映射到包含该单词的文档列表中。 在实现全文搜索功能时,我们需要将文…

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