1 爬虫工具及思路

1.工具包: selenium-webdriver 模拟浏览器(因为网页是动态加载的,而且我比较难以找到json包)
2.思路: 首先获取每个岗位的id,然后根据id构造岗位url,最后逐一访问网址并抓取所需信息。

2 准备工作

  1. python中下载selenium包,pip install selenium
  2. webdriver 官网下载对应浏览器的webdriver驱动,一定要和原文件在同一个目录下,附上谷歌官网网址:谷歌浏览器webdriver下载地址
  3. selenium模拟浏览器的相关操作可以参考这篇文章:python selenium库的使用
  4. 正则表达式相关操作参照下面这篇博客python正则表达式的应用

3 代码

from selenium import webdriver
import re
import xlwt
import time
# define method that will create a browser, suitable to your operating system
import sys
def get_a_browser():if sys.platform.startswith('win32') or sys.platform.startswith('cygwin'):return webdriver.Chrome() # windowselse:return webdriver.Chrome('./chromedriver') # mac
#get job id
job_id = []
part = 'data-jid="(.*?)"'
url = u'https://www.zhipin.com/c100010000/?query=%E5%95%86%E4%B8%9A%E5%88%86%E6%9E%90%E5%B8%88&page=9&ka=page-next'
browser = get_a_browser()
browser.get(url)
time.sleep(1)
body = browser.find_element_by_tag_name('body')
for i in range(0,15):soup = BeautifulSoup(browser.page_source, 'html.parser')info = re.findall(part,str(soup))job_id.extend(info)browser.find_element_by_class_name('next').click()time.sleep(3)
#获取搜索职位的id
job_id = []
part = 'data-jid="(.*?)"'
url = u'https://www.zhipin.com/c100010000/?query=%E5%95%86%E4%B8%9A%E5%88%86%E6%9E%90%E5%B8%88&page=9&ka=page-next'
browser = get_a_browser()
browser.get(url)
time.sleep(1)
body = browser.find_element_by_tag_name('body')
for i in range(0,15):soup = BeautifulSoup(browser.page_source, 'html.parser')info = re.findall(part,str(soup))job_id.extend(info)browser.find_element_by_class_name('next').click()#根据class named定位页面下方的next按钮位置并点击进入下一页time.sleep(3)
#根据job_id访问每一个职位的网页并获取相关信息,最后存储在Excel表格中
book = xlwt.Workbook(encoding='utf-8')
sheet1 = book.add_sheet(u'Sheet1', cell_overwrite_ok=False)
try : for i in range(0,len(job_id)):job_url = 'https://www.zhipin.com/job_detail/{}.html'.format(new_job_id[i])browser.get(job_url)data = str(browser.page_source)pat1 = '<h1>(.*?)</h1>'job_title = re.compile(pat1).findall(data)[0]pat2 = '<p>(.*?)<em class="dolt"></em>(.*?)<em class="dolt"></em>(.*?)</p>'info = re.compile(pat2).findall(data)city = info[0][0]work_experience  = info[0][1]education = info[0][2]pat3 = '<span class="salary">(.*?)</span>'salary = re.compile(pat3).findall(data)[0]pat4 = '<h3>职位描述</h3>[\s\S]*?<div class="text">([\s\S]*?)</div>'job_description = re.compile(pat4).findall(data)[0].strip().replace('<br>','')pat5 = ' <div class="info">([\s\S]*?)<a'company = re.compile(pat5).findall(str(data))[0].strip()sheet1.write(i, 0, job_title)  sheet1.write(i, 1, company)sheet1.write(i, 2, city)       sheet1.write(i, 3, work_experience)       sheet1.write(i, 4, education)       sheet1.write(i, 5, salary)sheet1.write(i, 6, job_description)book.save('E:\postgraduate study\jupyter\job_description_nation.xls')
except Exception as e:book.save('E:\postgraduate study\jupyter\job_description_natioin.xls')print(i)

4 运行结果

Python爬取BOSS直聘商业分析岗职位描述信息相关推荐

  1. python爬取boss直聘招聘信息_年底啦,利用Python爬取Boss直聘的招聘信息,为明年跳槽做准备...

    原标题:年底啦,利用Python爬取Boss直聘的招聘信息,为明年跳槽做准备 前言 为什么都说程序员的薪资高,但是刚开始入职的你,薪资并不是自己想象中的那样,首先是你的工作经验不足,其次就是需要不断的 ...

  2. python爬取boss直聘招聘信息_Python 爬取boss直聘招聘信息!

    原标题:Python 爬取boss直聘招聘信息! 1.一些公共方法的准备 获取数据库链接: importpymysql ''' 遇到不懂的问题?Python学习交流群:821460695满足你的需求, ...

  3. 使用python爬取BOSS直聘岗位数据并做可视化(Boss直聘对网页做了一些修改,现在的代码已经不能用了)

    使用python爬取BOSS直聘岗位数据并做可视化 结果展示 首页 岗位信息 岗位详情 薪资表 学历需求 公司排名 岗位关键词 福利关键词 代码展示 爬虫代码 一.导入库 二.爬取数据 1.爬取数据代 ...

  4. python爬取boss直聘招聘信息_Python爬虫实战-抓取boss直聘招聘信息

    Python Python开发 Python语言 Python爬虫实战-抓取boss直聘招聘信息 实战内容:爬取boss直聘的岗位信息,存储在数据库,最后通过可视化展示出来 PS注意:很多人学Pyth ...

  5. 【数据分析项目实战】Python爬取BOSS直聘岗位和数据分析

    说明:这是一个数据分析项目全流程(附带项目实例),本篇教程来源于网络,胖哥对此进行了完整的梳理,并把用到的数据+代码完全奉上.如需数据+完整代码可以直接到文章最后获取. 这里面的数据,我只爬取了部分, ...

  6. python爬取boss直聘招聘信息_python学习之路-爬取boss直聘的岗位信息

    背景 想了解从事python相关岗位需要具备什么技能,于是就想从招聘网站上的职位需求入手,把信息获取下来后,生成词云,这样就能很直观的看出来哪些技能是python相关岗位需要具备的了. 技术概览 sc ...

  7. python 爬取boss直聘招聘信息实现

    1.一些公共方法的准备 获取数据库链接: import pymysql ''' 遇到不懂的问题?Python学习交流群:1136201545满足你的需求,资料都已经上传群文件,可以自行下载! ''' ...

  8. python爬取boss直聘招聘信息_Python笔记-爬取Boss直聘的招聘信息

    2018-05-09笔记: 最近迷上了爬虫,爬取招聘信息,存在MongoDB上 代码思路和上一篇爬取酷狗TOP500差不多,但是在使用CSS选择器的时候,有两组信息是连在一起,所以使用正则来获取 本来 ...

  9. python爬取boss直聘源码

    说明:登录boss直聘.获取推荐牛人信息.筛选牛人,然后进行沟通,目前只能做到沟通,还不能进行继续交流. 图片验证码目前只能将验证码图片保存到本地,通过图片管理器打开之后手工输入. 一次登录后,可在会 ...

  10. Python爬取Boss直聘,帮你获取全国各类职业薪酬榜

    今天想和大家聊聊Python与爬虫 python之所以能迅速风靡全国,和大街小巷各种的培训机构脱不开关系. 一会pythonAI未来以来,一会儿4个月培养人工智能与机器学习顶尖人才,更有甚者什么一周成 ...

最新文章

  1. HTTP 错误 404.13 - Not Found 请求筛选模块被配置为拒绝超过请求内容长度的请求。...
  2. 阿里披露AI完整布局,飞天AI平台首次亮相
  3. python 类中方法的动态特性
  4. CDQ分治 Jam's problem again [HDU - 5618]
  5. 论PHP框架设计模式及MVC的缺陷
  6. git删除中间某个commit
  7. websocket-shap 函数Broadcast的使用方法
  8. 韦根协议c语言,基于STM8系列的韦根协议门禁源代码 1.STM8系列开发源代码; 2.已做门禁开发:韦根协议刷卡门禁控制源代码; - 下载 - 搜珍网...
  9. 使用POI操作Ecxel文档遇到转化成String类型的电话号码无法转化成Cell类型了
  10. Blender烘焙光照贴图
  11. C# 模拟PCM数据并创建WAV文件
  12. PDF文件怎么转图片格式?转换有技巧
  13. 司马相如和卓文君——野史+臆想
  14. 微信小程序绑定手机号js代码
  15. 有什么好用的gif制作软件 制作GIF表情包教程
  16. 解放前端工程师——手把手教你开发自己的自定义列表和自定义表单系列之一缘起
  17. 团体程序设计天梯赛-习题集部分题解(大牛勿喷)
  18. 偏振1_经过两个偏振片最大光强问题
  19. Win10 安装软件报错:管理员已阻止你运行此应用
  20. hdmi转双mipi转接_视频转换 HDMI 转 MIPI ADV7480

热门文章

  1. 谢旭升 《操作系统教程》 课后习题答案 word版下载
  2. 震惊~~飞流android版使用体验!!
  3. 就在那犹豫的一刹那,跌入那深渊
  4. 高版本IE中弹出窗口不显示IE地址栏的解决方法
  5. IdentityServer4揭秘---Consent(同意页面)
  6. 第二章:硬件访问服务(4)-HAL编写
  7. VMware安装失败 找不到msi文件
  8. 英语介词at、in、on常见用法(时间、地点、方位)
  9. 中景园2.4寸TFT显示屏取模方式
  10. 全网首发国内联邦学习框架研究