欢迎来到 黑吧安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

自己动手打造工具系列之自动刷新简历

来源:本站整理 作者:佚名 时间:2018-09-03 TAG: 我要投稿

话说搞安全的大佬们都非常忙,自己在一步一步成长中无暇顾及其他琐碎的事情,比如让猎头注意到各位大佬。如何让猎头和大厂注意到自己呢?第一、提高自己在整个行业的曝光度;第二、定时刷新自己的简历;还有第三,第四等等,各位发挥脑洞。针对第一点,很多大佬各有自己的办法,但是针对第二点其实我们有全自动化的解决方案,可以为自己相对地节约点时间。小弟今天就带来自己动手打造工具系列之自动刷新简历。本文主要是针对喜欢写工具的童鞋提供一些思路,并一步一步地分析思路和方法,起一个抛砖引玉的作用吧。
0×01 方法及步骤
原理
本工具主要是使用selenium来操作浏览器,实现元素定位、按钮点击和url请求,然后通过点击成功后页面信息的变化判断和截图判断的方式来确定是否成功刷新简历。另外本文只操作了猎聘网和智联招聘网站,因为自己用到这两个网站比较多,很多好机会都是从这两个网站获得的。其他招聘网站还请各位自行研究。比如如何识别验证码等。
开发环境
开发语言:Python 3.6.5 (也存在Java版的)
所用模块:
selenium 3.11.0 (自动化测试模块)
argparse
sys
time.sleep
系统环境:MacOS Sierra
IDE: Pycharm
0×02 步骤解析
开始之前,需要下载相关的组件。主要包括各类浏览器的驱动(Webdriver),这样我们才可以操作浏览器来完成自动刷新简历的工作。以下是主流浏览器的驱动下载地址:
Firefox: https://github.com/mozilla/geckodriver/releases/  (本文主要以操作Firefox为主来讲解)
其他WebDriver下载地址:https://www.seleniumhq.org/download/
如果使用macOS, 直接使用brew install geckodriver 即可。
步骤一、创建Python虚拟环境
如果使用的是Pycharm的话,在选择建立项目的时候可以选择创建虚拟环境。同时,也可以自己建立虚拟环境。选择其一即可。建立虚拟环境的方法请参考官方文档。虚拟环境搭建好以后使用如下命令安装模块:
pip install selenium
等待安装完成后,即可开始工具编写之旅。
步骤二、导入模块
本文主要使用以下模块的方法:
from selenium.webdriver import Firefoxfrom selenium.webdriver.firefox.options import Optionsfrom selenium.webdriver.common.keys import Keysimport argparseimport sysfrom time import sleep
Options主要是来已无GUI方式启动浏览器,避免突然跳个浏览器出来吓自己一跳。
步骤三、代码编写
首先定义一个类,所谓面向对象编程嘛。现在很火,耳熟能详 ~ ~其次初始化参数和一些变量。代码如下:
class AutoJobHunter:    def __init__(self, username, password):        # 登陆网站所需要的用户名和密码        self.username = username        self.password = password        # 需要自动刷新简历的网站        self.zp_url = 'https://www.zhaopin.com'        self.lp_url = 'https://m.liepin.com/login/?url=https://m.liepin.com/cq/'
代码初始化了用户名和密码,而且定义了需要进行自动刷新简历的网站。后面的方法中会用到这些参数和变量。有盆友会问,为什么是m.liepin.com而不是www.leipin.com呢?后面会一一解释。
然后我们需要操作两个网站的简历自动刷新,那我们来定义两个方法吧,我真的想称之为函数。C/C++中毒太深!两个方法我取了个拼音,好low有没有!zhaopin() and liepin()。这个两个方法的内容大同小异,因为每个网站的结构不一样,所以造成了需要设定两个方法。以zhaopin()这个方法来讲解。
def zhaopin(self):    try:        #实例化Options,为启动无GUI界面做准备        options = Options()        #添加无GUI模式启动浏览器选项        options.add_argument('-headless')        #实例化对象        driver = Firefox(firefox_options=options)        #使用webdriver请求url        driver.get(self.zp_url)        #定位元素,输入用户名和密码,然后进行提交操作        driver.find_element_by_name('loginname').send_keys(self.username)        driver.find_element_by_name('Password').send_keys(self.password)        driver.find_element_by_tag_name('button').submit()        sleep(3)        #定位元素,点击"刷新简历"        driver.find_element_by_css_selector("a.zp-pfme-funcs-link:nth-child(2) > div:nth-child(3)").click()        #获取页面变化部分,因为该位置会变化成"刷新成功"        t = driver.find_element_by_css_selector("a.zp-pfme-funcs-link:nth-child(2) > p:nth-child(2)").text        if "刷新成功" in t:          print("智联招聘简历刷新成功!\n")        driver.close()     except Exception as e:        print("出现异常,程序将退出!\n")        print("具体错误信息如下:\n", e)        sys.exit(1)

[1] [2]  下一页

【声明】:黑吧安全网(http://www.myhack58.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱admin@myhack58.com,我们会在最短的时间内进行处理。
  • 最新更新
    • 相关阅读
      • 本类热门
        • 最近下载