利用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持久化存储文件操作方法的完整攻略: 1. 什么是Python持久化存储? Python持久化存储是指将Python程序中的数据(如变量、对象、数据结构等)保存到本地磁盘或其它外部存储设备,以便下次程序运行时能够重新读取这些数据。这可以方便用户保存或共享程序中的数据,也可以加快程序运行速度。 在Python中,常用的持久化存储方法包括:文…

    python 2023年6月2日
    00
  • python自动下载图片的方法示例

    下面是Python自动下载图片的方法示例的完整攻略。 背景说明 在网络应用或爬虫应用中,我们经常需要下载图片,手动下载耗时耗力,因此需要编写Python程序,实现自动下载图片的功能。 方法一:使用requests库下载图片 requests库是Python中常用的HTTP客户端库,它可以方便地向Web服务器发送请求并获取响应。利用requests库,我们可以…

    python 2023年5月19日
    00
  • 读取许多 csv 文件并使用 python 将其写入编码为 utf8

    【问题标题】:Read many csv file and write it to encoding to utf8 using python读取许多 csv 文件并使用 python 将其写入编码为 utf8 【发布时间】:2023-04-05 23:04:01 【问题描述】: 我正在使用 python 代码从许多 csv 文件中读取并将编码设置为 utf…

    Python开发 2023年4月6日
    00
  • python scipy卷积运算的实现方法

    下面是关于“Python Scipy卷积运算的实现方法”的完整攻略。 1. 卷积运算简介 卷积运算是一种常用的信号处理技术,它可以用于图像处理、音频处理等领域。在Python中,我们可以使用Scipy库来实现卷积运算。 2. Scipy卷积运算函数 Scipy库提供了scipy.signal.convolve2d函数来实现二维卷积运算。该函数的语法如下: s…

    python 2023年5月13日
    00
  • python实现自动解数独小程序

    让我来详细讲解“Python实现自动解数独小程序”的完整攻略,这里分为以下几个步骤: 1. 获取数独题目数据 数独题目数据可以从文件中读取或者通过API获取,接下来我们以从文件中获取数独题目数据为例进行讲解。 def read_sudoku(file_path): """ 读取数独题目数据 :param file_path: 文…

    python 2023年5月18日
    00
  • Python入门之三角函数全解【收藏】

    Python入门之三角函数全解【收藏】 1. 前言 三角函数是高中数学中的重要部分,也是其它学科中常见的数学工具,Python中包含了常用的三角函数,方便我们进行科学计算。本篇文章将详细讲解Python中的三角函数,包括正弦、余弦、正切等。 2. 引言 Python中的三角函数需要先导入math库,具体语法为:import math,导入math库后就可以使…

    python 2023年6月3日
    00
  • 浅谈Python2、Python3相对路径、绝对路径导入方法

    下面是针对“浅谈Python2、Python3相对路径、绝对路径导入方法”的完整攻略。 1. Python 2和Python 3的文件路径表示方式 在Python 2中,文件路径表示方式使用的是相对路径和绝对路径。而在Python 3中,新增了一种方式,即使用包(package)的相对路径。下面我们分别来看Python 2和Python 3文件路径表示方式的…

    python 2023年6月2日
    00
  • python time模块时间戳 与 结构化时间详解

    Python time模块时间戳与结构化时间详解 什么是时间戳? Unix时间戳指的是从1970年1月1日 00:00:00 UTC起至现在的总秒数。它也被称作POSIX时间戳。在Python中,时间戳可以通过调用time模块下的函数来获取。示例代码如下: import time # 获取当前时间的时间戳 now_timestamp = int(time.t…

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