利用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之csv文件从MySQL数据库导入导出的方法

    下面详细讲解Python如何操作csv文件实现MySQL数据库的导入导出。 1. csv文件的导出(从MySQL数据库到csv文件) 步骤1:导出数据到csv文件 使用Python的标准库中的csv和pymysql模块,可以快速地从MySQL数据库中导出数据到csv文件。下面是示例代码: import csv import pymysql # 连接MySQL…

    python 2023年6月3日
    00
  • python多进程实现进程间通信实例

    下面我将详细讲解 Python 多进程实现进程间通信的攻略。 什么是多进程? 在 Python 中,多进程编程指的是通过 fork 系统调用在操作系统级别上将一个进程分裂为多个进程来实现并发执行的程序。 在 Python 中,通过使用 multiprocessing 模块可以创建和控制多个进程,因此我们可以利用这种方式来实现多进程并发执行。 进程间通信方式 …

    python 2023年5月19日
    00
  • Python学习之while 循环语句

    Python学习之while 循环语句 什么是while循环? 在Python编程中,while循环是一种重复执行某个代码块的语句。只要指定的循环条件为True,循环就会一直执行下去。 while循环的语法 while循环的语法如下: while 循环条件: 循环体代码 其中,循环条件是一个布尔表达式,若为 True,则循环体代码将不断执行,直到循环条件变为…

    python 2023年5月31日
    00
  • python中的多线程实例教程

    当我们在编写程序的时候,有时候会涉及到一些耗时的操作。如果直接在主线程中进行,就会导致整个程序变得非常卡顿,用户体验非常差。这时候,我们可以考虑使用多线程来解决这个问题。 简介 Python中的多线程实际上是通过调用threading模块来实现的。该模块中包含了线程类Thread,以及一些操作线程的方法。通过使用这些类和方法,我们可以很容易地创建和管理多个线…

    python 2023年6月6日
    00
  • Python中获取绝对文件路径的目录路径

    【问题标题】:Get the directory path of absolute file path in PythonPython中获取绝对文件路径的目录路径 【发布时间】:2023-04-05 04:56:01 【问题描述】: 我想获取文件所在的目录。例如完整路径为: fullpath = “/absolute/path/to/file” # some…

    Python开发 2023年4月5日
    00
  • Pycharm中的Python Console用法解读

    PyCharm中的Python Console用法解读 什么是Python Console? Python Console是PyCharm IDE的一个交互式编程环境。它定义为一个交互式的REPL(Read-Eval-Print Loop),它可以帮助您更快地调试和测试您的Python代码。 如何访问Python Console? 在PyCharm IDE中…

    python 2023年5月18日
    00
  • pyspark 随机森林的实现

    下面我将为您详细讲解”pyspark 随机森林的实现”的完整攻略,并给出两条示例说明。 1. 随机森林简介 随机森林是一种集成学习方法,可用于分类和回归问题中。随机森林的核心是决策树,它会随机从样本中选取特征,并使用基尼指数或信息增益来选择最佳的分裂点。这些决策树会进行随机投票,最终的预测结果是投票结果的平均值。随机森林通过随机化的方式减少了单棵决策树的过拟…

    python 2023年6月3日
    00
  • 解决python中set与dict的无序问题

    Python中的Set和Dict都是无序的,这意味着它们不会按照添加的顺序保留元素。因此,在一些场景下,我们需要想办法来解决这个无序的问题。下面,我将提供两种方式来解决这个问题。 使用OrderedDict类 Python的collections模块提供了一个OrderedDict类,它可以用来创建有序的Dict对象。OrderedDict对象会按照元素添加…

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