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 lists

def 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_lists

def 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

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值