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

yizhihongxing

这是一篇关于如何利用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日

相关文章

  • 为什么我的 OR 运算符不能在 python 中工作?

    【问题标题】:Why is my OR operator not working in python?为什么我的 OR 运算符不能在 python 中工作? 【发布时间】:2023-04-06 03:56:01 【问题描述】: while scr_1 <= 4 or scr_2 <= 4 :#scr 代表分数 这里发生的事情是我的…

    Python开发 2023年4月7日
    00
  • Python数据结构与算法之字典树实现方法示例

    Python数据结构与算法之字典树实现方法示例 什么是字典树 字典树是一种树型数据结构,用于较快地检查一个字符串是否是一个集合中的一个字符串。字典树通常用于字符串的搜索和排序,它的优点是减少无谓的字符串比较,查询效率比哈希表高。 字典树的实现方法 字典树的实现方法可以使用一个字典来表示节点的孩子,每个节点包括当前节点的值和一个指向下一个节点的指针。 以下是字…

    python 2023年5月13日
    00
  • python使用pyshp读写shp文件的实现

    让我们来详细讲解一下“python使用pyshp读写shp文件的实现”的完整攻略。 一、前置知识 在讲解具体的使用方法之前,我们需要先了解一些基础知识。 1.1 什么是shp文件 shp文件(Shapefile)是一种矢量数据格式,用于存储地理空间信息,包括点、线、面等几何要素和属性信息等。shp文件通常是由一系列文件组成,包括.shp、.shx、.dbf、…

    python 2023年5月14日
    00
  • tensorflow 打印内存中的变量方法

    要打印tensorflow内存中的变量,我们需要使用tensorflow的Session类中的run方法。具体代码如下: import tensorflow as tf # 创建一个tensorflow变量x x = tf.Variable(0) # 创建一个操作,将x加1 add_op = tf.assign_add(x, 1) # 创建一个会话 with…

    python 2023年6月3日
    00
  • python index() 与 rindex() 方法的使用示例详解

    Pythonindex()与rindex()方法的使用示例详解 简介 在Python中,字符串是不可变的对象,但是我们可以通过字符串的索引来访问其中的元素。字符串还有许多有用的方法,例如index()和rindex(),这两个方法都可以在字符串中查找一个子串的位置。 index()方法是从字符串的左边开始查找子串,返回子串在字符串中的第一个匹配位置,如果没有…

    python 2023年5月13日
    00
  • Python抓取百度查询结果的方法

    Python抓取百度查询结果的方法 在Python中使用第三方库BeautifulSoup和requests可以非常方便地实现对百度查询结果的抓取。 步骤一:获取查询结果的网页源代码 使用requests库发起GET请求获取查询结果的网页源代码。 import requests def get_page_source(keyword): url = f&qu…

    python 2023年5月14日
    00
  • 在Python中使用NumPy生成具有给定根数的Hermite_e数列

    生成具有给定根数的Hermite_e数列可以使用Python的NumPy库中的hermite_e函数。以下是使用NumPy生成Hermite_e数列的详细攻略: 1. 导入NumPy库 在使用NumPy库之前,我们需要先导入它。在Python代码中,可以使用以下命令导入NumPy库: import numpy as np 2. 使用hermite_e函数生成…

    python-answer 2023年3月25日
    00
  • python字符串下标与切片及使用方法

    Python中字符串是一种常用的数据类型,它由一系列字符组成,可以使用下标和切片进行访问和操作。 字符串下标与访问 在Python中字符串的下标从0开始,可以通过下标来访问字符串中的某个字符。例如,要访问字符串中的第一个字符可以执行如下代码: s = "Hello, World!" print(s[0]) # Output: H 需要注意…

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