利用python如何在前程无忧高效投递简历

这是一篇关于如何利用Python在前程无忧高效投递简历的攻略,以下将对具体的步骤和操作进行详细的讲解。

1. 准备工作

在使用Python进行自动投递之前,需要准备好以下内容:

  • Python开发环境:推荐安装Python 3.x版本;
  • 相关库的安装:需要安装selenium、webdriver和pandas库;
  • 浏览器驱动程序:需要下载并安装适合自己电脑浏览器版本的浏览器驱动。

2. 程序实现步骤

本攻略主要分为4个步骤,包括登录前程无忧、搜索关键字、爬取职位信息、投递简历。

步骤1:登录前程无忧

在代码实现中,可以通过以下代码实现自动登录:

from selenium import webdriver

# 初始化浏览器
browser = webdriver.Firefox()

# 打开登录页面
browser.get('https://passport.58.com/login/')

# 输入用户名和密码
browser.find_element_by_id('username').send_keys('xxx')
browser.find_element_by_id('password').send_keys('xxx')

# 点击登录按钮
browser.find_element_by_id('btnSubmit').click()

步骤2:搜索关键字

搜索操作可以通过将关键字输入到搜索框中,然后点击搜索按钮来实现。以下代码展示了如何实现自动搜索:

# 输入搜索关键字
browser.find_element_by_id('search_input').send_keys('python')

# 点击搜索按钮
browser.find_element_by_id('search_button').click()

步骤3:爬取职位信息

在搜索页面中,可以通过xpath语法定位到职位信息,并将其保存到pandas数据框中。以下代码展示了如何实现爬取职位信息:

import pandas as pd

# 爬取职位信息
position_list = browser.find_elements_by_xpath('//div[@class="job-item"]/div[1]/a[1]')
salary_list = browser.find_elements_by_xpath('//div[@class="job-item"]/div[2]/p[1]')
company_list = browser.find_elements_by_xpath('//div[@class="job-item"]/div[2]/p[2]/a[1]')
address_list = browser.find_elements_by_xpath('//div[@class="job-item"]/div[2]/p[2]/em[1]')

# 将职位信息保存到pandas数据框中
df = pd.DataFrame({
    'position': [p.text for p in position_list],
    'salary': [s.text for s in salary_list],
    'company': [c.text for c in company_list],
    'address': [a.text for a in address_list]
})

步骤4:投递简历

最后一步是投递简历。在实现过程中,需要注意两个问题:首先,如果职位需要登录才能看到联系方式,那么需要在投递简历前重新登录一次;其次,投递简历的时候需要找到“投递简历”的按钮并点击。以下代码展示了如何实现投递简历:

# 遍历每一个职位
for i in range(len(df)):
    # 进入职位详情页
    browser.get(position_list[i].get_attribute('href'))

    # 如果需要登录才能看到联系方式,重新登录一次
    if 'login.58.com' in browser.current_url:
        browser.find_element_by_id('username').send_keys('xxx')
        browser.find_element_by_id('password').send_keys('xxx')
        browser.find_element_by_id('btnSubmit').click()

    # 点击“投递简历”按钮
    browser.find_element_by_id('resumeDeliver').click()

3. 示例说明

下面将通过两个例子来说明如何利用Python完成简历投递的自动化操作。

示例1:投递有“Python”关键字的职位

假设我们已经安装好了selenium、webdriver和pandas库,并且已经下载好了Firefox浏览器的驱动,接下来可以通过以下代码实现自动投递有“Python”关键字的职位:

from selenium import webdriver
import pandas as pd

# 初始化浏览器
browser = webdriver.Firefox()

# 打开登录页面
browser.get('https://passport.58.com/login/')

# 输入用户名和密码
browser.find_element_by_id('username').send_keys('xxx')
browser.find_element_by_id('password').send_keys('xxx')

# 点击登录按钮
browser.find_element_by_id('btnSubmit').click()

# 输入搜索关键字
browser.find_element_by_id('search_input').send_keys('python')

# 点击搜索按钮
browser.find_element_by_id('search_button').click()

# 爬取职位信息
position_list = browser.find_elements_by_xpath('//div[@class="job-item"]/div[1]/a[1]')
salary_list = browser.find_elements_by_xpath('//div[@class="job-item"]/div[2]/p[1]')
company_list = browser.find_elements_by_xpath('//div[@class="job-item"]/div[2]/p[2]/a[1]')
address_list = browser.find_elements_by_xpath('//div[@class="job-item"]/div[2]/p[2]/em[1]')

# 将职位信息保存到pandas数据框中
df = pd.DataFrame({
    'position': [p.text for p in position_list],
    'salary': [s.text for s in salary_list],
    'company': [c.text for c in company_list],
    'address': [a.text for a in address_list]
})

# 遍历每一个职位,并投递简历
for i in range(len(df)):
    # 进入职位详情页
    browser.get(position_list[i].get_attribute('href'))

    # 如果需要登录才能看到联系方式,重新登录一次
    if 'login.58.com' in browser.current_url:
        browser.find_element_by_id('username').send_keys('xxx')
        browser.find_element_by_id('password').send_keys('xxx')
        browser.find_element_by_id('btnSubmit').click()

    # 点击“投递简历”按钮
    browser.find_element_by_id('resumeDeliver').click()

print('完成简历自动投递!')

示例2:投递有“Python”关键字且薪资大于10000的职位

与示例1类似,不同之处在于需要筛选出符合条件的职位,以下代码展示了如何实现:

from selenium import webdriver
import pandas as pd

# 初始化浏览器
browser = webdriver.Firefox()

# 打开登录页面
browser.get('https://passport.58.com/login/')

# 输入用户名和密码
browser.find_element_by_id('username').send_keys('xxx')
browser.find_element_by_id('password').send_keys('xxx')

# 点击登录按钮
browser.find_element_by_id('btnSubmit').click()

# 输入搜索关键字
browser.find_element_by_id('search_input').send_keys('python')

# 点击搜索按钮
browser.find_element_by_id('search_button').click()

# 爬取职位信息
position_list = browser.find_elements_by_xpath('//div[@class="job-item"]/div[1]/a[1]')
salary_list = browser.find_elements_by_xpath('//div[@class="job-item"]/div[2]/p[1]')
company_list = browser.find_elements_by_xpath('//div[@class="job-item"]/div[2]/p[2]/a[1]')
address_list = browser.find_elements_by_xpath('//div[@class="job-item"]/div[2]/p[2]/em[1]')

# 将职位信息保存到pandas数据框中
df = pd.DataFrame({
    'position': [p.text for p in position_list],
    'salary': [s.text for s in salary_list],
    'company': [c.text for c in company_list],
    'address': [a.text for a in address_list]
})

# 筛选符合条件的职位,并投递简历
for i in range(len(df)):
    if 'python' in df['position'][i].lower() and float(df['salary'][i].replace('元/月', '')) > 10000:
        # 进入职位详情页
        browser.get(position_list[i].get_attribute('href'))

        # 如果需要登录才能看到联系方式,重新登录一次
        if 'login.58.com' in browser.current_url:
            browser.find_element_by_id('username').send_keys('xxx')
            browser.find_element_by_id('password').send_keys('xxx')
            browser.find_element_by_id('btnSubmit').click()

        # 点击“投递简历”按钮
        browser.find_element_by_id('resumeDeliver').click()

print('完成简历自动投递!')

以上就是如何利用Python在前程无忧高效投递简历的完整攻略,希望对大家有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:利用python如何在前程无忧高效投递简历 - Python技术站

(1)
上一篇 2023年6月3日
下一篇 2023年6月3日

相关文章

  • 基于Python写一个番茄钟小工具

    好的!基于Python写一个番茄钟小工具可以分为以下步骤: 步骤一:了解番茄工作法 番茄工作法是一种时间管理方法,每25分钟为一组工作时间(即一个“番茄钟”),工作时间结束后休息5-10分钟,并记录完成的工作时间。本小工具就是一个简单的计时器,用于帮助使用者实践番茄工作法。 步骤二:安装必要的库 在 Python 中,可以使用 tkinter 库实现简单的 …

    python 2023年6月2日
    00
  • python3实现字符串的全排列的方法(无重复字符)

    下面我来为您讲解一下“Python3实现字符串的全排列的方法(无重复字符)”的完整攻略。 什么是字符串的全排列? 字符串的全排列是指把一个字符串中所有字符的组合都找出来,比如说对于字符串”abc”,其全排列包括: “abc”, “acb”, “bac”, “bca”, “cab”, “cba” 算法思路 使用递归的方法来实现,对于给定的字符串,从第一个字符开…

    python 2023年6月5日
    00
  • Python如何对文件进行重命名

    下面是Python如何对文件进行重命名的完整攻略: 1. 使用os模块中的rename方法重命名文件 os模块是Python中的一个标准库,它提供了许多与操作系统交互的功能。其中的rename方法可以用来对文件进行重命名。具体操作步骤如下: 1.1 导入os模块 在使用os模块的方法之前,需要首先导入它。 import os 1.2 使用os.rename重…

    python 2023年6月3日
    00
  • Python中format()格式输出全解

    Python中format()格式输出全解 在Python中,我们可以使用format()方法对字符串进行格式化输出。使用format()方法可以方便地为字符串添加变量、数字等内容,使输出的字符串更加灵活和具有可读性。 语法 Python中format()方法的语法如下所示: string.format(args) 其中,string是要格式化输出的字符串,…

    python 2023年6月5日
    00
  • Python 重新缩放数据

    【问题标题】:Python Rescale DataPython 重新缩放数据 【发布时间】:2023-04-04 19:46:01 【问题描述】: 我在以下代码中收到此错误。我收到的错误没有给我任何地址的线索。请帮忙。 错误:TypeError: ‘ 代码: from pandas import read_csv from numpy import set…

    Python开发 2023年4月6日
    00
  • Python利用xlrd 与 xlwt 模块操作 Excel

    下面是关于“Python利用xlrd 与 xlwt 模块操作 Excel”的完整实例教程。 1. 简介及准备工作 Python是一种强大的编程语言,可用于处理大量数据和实现各种功能。在Python中,使用xlrd和xlwt模块可以非常方便地读取和写入Microsoft Excel文件。 在开始之前,我们需要安装这两个 Python 模块,使用pip工具即可:…

    python 2023年5月13日
    00
  • Python 操作 MongoDB 讲解详细

    Python操作MongoDB讲解详细 MongoDB是一种开源的NoSQL数据库,它是基于文档存储,而不是传统的表格关系型存储。Python可以很容易地与MongoDB集成,本文将介绍如何使用Python操作MongoDB。 安装MongoDB 首先,我们需要在本地安装MongoDB数据库。安装步骤因操作系统而异,具体请参考官方文档:https://doc…

    python 2023年5月14日
    00
  • 用Python构建GUI应用的铅笔草图

    本文我们来详细讲解使用 Python 构建 GUI 应用的步骤和技术。 构建 GUI 应用的基本步骤 选择 GUI 库:Python 中可以使用多个 GUI 库,比如 Tkinter、PyQt、wxPython 等。选择适合自己的 GUI 库是第一步。 设计 GUI 界面:在选择 GUI 库之前,就需要先确定所需的界面布局和界面元素(例如,按钮、标签、文本框…

    python-answer 2023年3月25日
    00
合作推广
合作推广
分享本页
返回顶部