python+selenium爬取智联招聘信息
python+selenium爬取智联招聘信息
- 需求
- 准备
- 代码
- 结果
需求
老板给了我一份公司名单(大概几百家如下图),让我到网上看看这些公司分别在招聘哪些岗位,通过分析他们的招聘需求大致能推断出我们和他们有没有业务上PY交易合作的可能性和契合点
几百家公司一个一个查岂不是要累死人,于是决定写个爬虫交差.
准备
因为爬的是智联招聘网的信息,所以用selenium
模拟用户行为相对简单一些
图方便直接把初始页面拉到了公司搜索页 https://sou.zhaopin.com/?jl=543&sf=0&st=0&kw= &kt=2
搜索后页面如图
代码
# 导入库
import time
import numpy as np
import pandas as pd
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
写了一半突然想到万一以后老板还有此类需求怎么办?
于是乎又把代码全部封装到函数里去了.(我机智勇敢!)
def filepath(path):
'''
#设置文件路径
#(老板给的公司名单是excel文件,x为excel文件后缀最后一个字母)
#(预防万一以后用,特地到加了个识别csv文件的语法)if path[-1]=='x':lists=pd.read_excel(path)['单位详细名称']elif path[-1]=='v': f = open(path,encoding='UTF-8')df = pd.read_csv(f)lists=df[df.columns[0]]return listsdef text(page,name):
#处理搜索后页面job_lists=[]for u in page.text.split(name):if u.split('\n')[-2]=='就业有位来':job_lists.append(u.split('\n')[-3])else:job_lists.append(u.split('\n')[-2])job_lists=job_lists[0:-1]return name,job_listsdef zhilian(file):
#智联爬虫脚本封装pf=pd.DataFrame()browser = webdriver.Chrome()url = 'https://sou.zhaopin.com/?jl=543&sf=0&st=0&kw=%20&kt=2'browser.get(url)browser.find_element_by_xpath("/html/body/div[2]/div/div/button").click()elem=browser.find_element_by_class_name('search-box__common__input')for i in filepath(file):time.sleep(1) elem.send_keys(Keys.CONTROL, 'a') elem.send_keys(Keys.BACKSPACE) elem.send_keys(i) elem.send_keys(Keys.RETURN) time.sleep(2) try: #如果有发布招聘信息就爬下来保存job_text = browser.find_element_by_id('listContent')t=text(job_text,i)df=pd.DataFrame({t[0]:t[1]}).T.reset_index()except: #没有招聘就储存空值df=pd.DataFrame({i:[np.nan]}).T.reset_index()pf=pf.append(df)pf.to_excel('智联招聘结果输出.xlsx',encoding='utf_8_sig',index=False)browser.quit()
爬虫 ,启动!
zhilian('C:/Users/50454/Desktop/公司名单.xlsx')
结果
爬下来的文件如下图
然后给老板一看,
老板:怎么还有这么多公司没有爬到啊?
于是我现在被勒令要求再写4个爬虫,把boss直聘的,51job的,地宝网的,58同城的信息全部再爬一遍
QAQ
python+selenium爬取智联招聘信息相关推荐
- 给大家整理了一篇Python+selenium爬取智联招聘的职位信息
整个爬虫是基于selenium和Python来运行的,运行需要的包 1 mysql,matplotlib,selenium 需要安装selenium火狐浏览器驱动,百度的搜寻. 整个爬虫是模块化组织的 ...
- 使用python动手爬取智联招聘信息并简单分析
根据使用场景,网络爬虫可分为 通用爬虫 和 聚焦爬虫 两种 通用网络爬虫,是捜索引擎抓取系统(Baidu.Google.Yahoo等)的重要组成部分.主要目的是将互联网上的网页下载到本地,形成一个互联 ...
- (转)python爬虫实例——爬取智联招聘信息
受友人所托,写了一个爬取智联招聘信息的爬虫,与大家分享. 本文将介绍如何实现该爬虫. 目录 网页分析 实现代码分析 结果 总结 github代码地址 网页分析 以https://xiaoyuan.zh ...
- python爬虫实例——爬取智联招聘信息
受友人所托,写了一个爬取智联招聘信息的爬虫,与大家分享. 本文将介绍如何实现该爬虫. 目录 网页分析 实现代码分析 结果 总结 github代码地址 网页分析 以https://xiaoyuan.zh ...
- Python爬虫爬取智联招聘职位信息
目的:输入要爬取的职位名称,五个意向城市,爬取智联招聘上的该信息,并打印进表格中 #coding:utf-8 import urllib2 import re import xlwtclass ZLZ ...
- 【Python爬虫案例学习20】Python爬虫爬取智联招聘职位信息
目的:输入要爬取的职位名称,五个意向城市,爬取智联招聘上的该信息,并打印进表格中 ####基本环境配置: Python版本:2.7 开发工具:pycharm 系统:win10 ####相关模块: im ...
- Python爬虫爬取智联招聘(进阶版)
运行平台: Windows Python版本: Python3.6 IDE: Sublime Text 其他工具: Chrome浏览器 0.写在前面的话 本文是基于基础版上做的修改,如 ...
- Python | 爬虫爬取智联招聘(进阶版)
上一篇文章中<Python爬虫抓取智联招聘(基础版)>我们已经抓取了智联招聘一些信息,但是那些对于找工作来说还是不够的,今天我们继续深入的抓取智联招聘信息并分析,本文使用到的第三方库很多, ...
- Python爬虫爬取智联招聘!谁说Python岗位少的?
运行平台: Windows Python版本: Python3.6 IDE: Sublime Text 其他工具: Chrome浏览器 0.写在前面的话 本文是基于基础版上做的修改,如 ...
最新文章
- IronPython系列:Composite Pattern及其实现
- ILSpy可以反编译c语言,ILSpy反编译工具的使用
- ECJia如何配置两个网站访问共同的数据库和附件资源
- SqlDataAdapter上调用存储过程
- 2019年6月26 突然想到的代码优化
- 关于数据可视化的方法和工具介绍
- CNN tensorflow 人脸识别
- C#LeetCode刷题之#641-设计循环双端队列(Design Circular Deque)
- python对日志处理的封装
- 通过消息跨进程发送与接收 TCopyDataStruct 数据 - 回复 skymesh
- 并查集(UnionFind)算法
- 局域网服务器配置一个无线路由,局域网怎么增加无线路由器
- 人生的意义到底是什么?
- 如何用开源软件办一场技术大会?
- 3D Photography using Context-aware Layered Depth Inpainting-论文主要内容翻译
- remote debugger java,VS2015 远程调试:Remote Debugger
- 由《掟上今日子的备忘录》引发的联想
- 什么软件可以把真人照片卡通化、动漫化?
- hook failed (add --no-verify to bypass)
- 2021923学习总结
热门文章
- 【j2ee spring】38、巴巴运动网的产品文件的上传
- 正在播放2020Me比较特别的我_蓝牙耳放还是播放器,工作的人当然是都买之第二番 飞傲M5分享...
- 第九百四十一章令人错愕的真相!
- 联想r480安全模式_联想R480怎么改造(学生党)?
- php微信公众号调用扫一扫,微信公众号中h5页面扫一扫实现
- Linux安装软件时的错误解决
- python 匿名函数 lambda
- 余世维:有助于事业成功,沟通创造的三种价值
- 请每天吃一碗:试试效果如何
- 苹果手机网速慢_闪修侠科普 | 为什么手机信号满格,有时网速却慢到爆?