一、需求分析java
经过搜索职位关键字,来获取该职位的招聘信息,信息包括:岗位的名称,招聘的公司,公司所在地,工做经验要求,学历要求python
二、技术分析web
代码语言:python;
spring
所须要的类库:requests、BeautifuiSoup后端
三、详细分析springboot
在BOSS直聘网站搜索框上搜索关键字:Java
服务器
图1 搜索关键字微信
观察下其跳转连接,发现其请求的方式为get,那么,咱们就须要构造一个请求的连接。网络
图2 目标连接地址微信开发
图3 请求的参数
def get_target_link(keyword): data = { 'query': keyword, 'scity': 101280600, 'industry':'', 'position':'' } queries = urlencode(data) url = base_url + queries
如今只须要传入一个keyword,就能构造出一个职位的连接地址了,那么下面就须要解析这个地址的内容
def get_target_content(url,keyword): try: response = requests.get(url = url,headers = headers) if response.status_code == 200: parser_target_content(response.text,keyword) else: print("Request failed") except RequestException as e: print(e)
这段代码解析出页面的内容以后,再去调用parser_target_content这个函数,解析目标内容
def parser_target_content(content,keyword): job_info = [] soup = BeautifulSoup(content,"lxml") s = soup.find_all("div",class_="job-list") for i in s: m = i.find_all("li") for j in m: job_info.append(j) parser_detail_jobinfo(job_info) def parser_detail_jobinfo(job_info): for i in job_info: s = i.find_all("div",class_="job-primary") for j in s: job_name = j.find("div",class_="job-title").get_text() job_wage = j.find("span").get_text() company_location = re.search(r"([\u4e00-\u9fa5]{2})(\s{2})", str(j).replace("\n","")).group(1) work_experience = re.search(r"</em>(.*)<em",str(j)).group(1) #aca_require = re.search(r"em>(.{2})</p>", str(j)).group(1) m = j.find_all("div",class_="company-text") for k in m: company = k.find("a").get_text() print(company,job_name,job_wage,company_location,work_experience)
一页的内容有了,下面的问题是如何把所有属于这个关键字的职位页面打开来,浏览发现,底部并无最后一页的地址,全部说,不能经过最后一页的地址用循环遍历全部的页面,如何解决?
图4 页码分布
观察下面两张截图,图5是首页的,图6是末页的
图5 页码截图1
图6 页码截图2
发现,一个是class = "next",另外一个是:class = "next disabled",因此,只须要从当前(第一页)开始判断,class = "next"是否成立,若是成立,则得到下一页的连接,而后递归继续解析下一页的内容,反之,则退出判断
def get_href(URL): response = requests.get(url = URL, headers = headers).text soup = BeautifulSoup(response,"lxml") s = soup.find_all("div",class_="page") for i in s: h = i.find_all("a") for j in h[-1:]: href = "https://www.zhipin.com/" + j.get("href") return href def judge_nextpage(href): response = requests.get(url = href, headers = headers).text soup = BeautifulSoup(response, "lxml") s = soup.find_all("div", class_="page") for i in s: h = i.find_all("a") ka = re.search(r'class="(.*) href=\"',str(h[-1])).group(1).strip("\"") if ka == "next": return True def print_href(url,keyword): get_target_content(url, keyword) href = get_href(url) flag = judge_nextpage(href) if flag == True: print_href(href,keyword)
四、爬取结果
欢迎使用BOSS直聘职位分析系统!
请输入要查询的职位:Java
易程文化 JAVA开发工程师 10k-20k 深圳 3-5年求势科技 Java中级工程师 12k-20k 深圳 1-3年七点半传媒科技 Java 15k-20k 深圳 1年之内有棵树 JAVA开发工程师(中高级) 10k-15k 深圳 3-5年博奥特 初中级JAVA开发 10k-16k 深圳 1-3年鱼群资讯 java开发工程师 10k-20k 深圳 1-3年厂家网商城 Java搜索工程师 10k-15k 深圳 3-5年顶脉科技 Java 10k-15k 深圳 1-3年平安付 初级/中级/高级/资深Java开发工程师 15k-30k 深圳 3-5年蚂蚁金服 蚂蚁金服深圳JAVA专场通道(Fast) 23k-42k 深圳 应届生快优 Java资深工程师 12k-20k 深圳 3-5年爱加密 JAVA开发工程师 10k-15k 深圳 1-3年四方精创 Java 16k-25k 深圳 5-10年乐达实业 Java开发 6k-12k 深圳 3-5年好实再 中级Java工程师 12k-16k 深圳 3-5年龙广投资 Java 5k-10k 深圳 1-3年蚂蚁金服 Java 25k-50k 深圳 3-5年联合永道 Java开发工程师 9k-13k 深圳 1-3年亿腾信息 Java开发工程师(电商项目) 11k-13k 深圳 1-3年土巴兔 Java 10k-18k 深圳 3-5年明链科技 Java 7k-14k 深圳 1年之内上海易立德 Java系统架构师 14k-16k 深圳 5-10年掌控移动 java开发工程师助理 3k-4k 深圳 应届生阿里巴巴集团 Java 开发工程师实习生 20k-40k 深圳 应届生卖座网 全栈工程师(C/C++、JAVA、Golang) 20k-30k 深圳 3-5年深圳标越科技 高级java 18k-28k 深圳 5-10年顶尖传奇 java架构师 50k-80k 深圳 5-10年越凡物联 java 前、后端开发 8k-15k 深圳 1-3年兔展 高级Java开发工程师 18k-35k 深圳 5-10年软通动力 java开发工程师 8k-16k 深圳 3-5年中软国际 Java 10k-15k 深圳 1-3年丰瑞 java开发工程师 8k-16k 深圳 1-3年华夏软件 Java 开发及大数据实施 5k-6k 深圳 1-3年北京中讯汉扬 Java架构师 15k-30k 深圳 5-10年巨益科技 Java 15k-25k 深圳 1-3年万达信息 Java 9k-12k 深圳 3-5年企链数字 Java 10k-20k 深圳 5-10年深圳市聚一科技 Java 10k-20k 深圳 3-5年给乐科技 资深java工程师/java技术经理 22k-30k 深圳 5-10年阿里巴巴零售通 Java 20k-40k 深圳 3-5年云沃客 Java工程师 8k-15k 深圳 1-3年同方鼎欣 Java(深圳平安) 11k-16k 深圳 3-5年人人聚财 Java开发工程师 10k-18k 深圳 1-3年SIE Java软件开发工程师 10k-20k 深圳 3-5年科脉技术 JAVA高级开发工程师 15k-25k 深圳 5-10年阿里巴巴集团 后台Java开发 20k-40k 深圳 3-5年一青三濛电子游艺 java开发 11k-17k 深圳 1-3年道一信息 java实习生 3k-4k 深圳 应届生几米 JAVA高级开发工程师 15k-25k 深圳 3-5年创领网络 JAVA开发工程师 15k-20k 深圳 3-5年三泰智能 技术支持工程师(java方向) 8k-15k 深圳 1-3年环金科技 Java高级工程师 15k-20k 深圳 5-10年深圳块店智能科技有限公司 Java开发工程师 10k-20k 深圳 3-5年韶关市大鲲互动网... Java工程师 6k-8k 深圳 1-3年亿腾信息 JAVA开发工程师 11k-13k 深圳 1-3年博彦科技 java开发工程师 9k-17k 深圳 3-5年顺丰科技 Java高级工程师 20k-40k 深圳 5-10年中科智慧 Java中级开发工程师 10k-15k 深圳 1-3年华为技术有限公司 Java 30k-50k 深圳 5-10年软通动力 Java架构师 20k-30k 深圳 5-10年蚂蚁金服 Java资深开发工程师 25k-50k 深圳 不限跨海侠 java开发工程师 15k-25k 深圳 3-5年星火电子 java工程师 8k-15k 深圳 3-5年达普信 Java开发工程师 8k-10k 深圳 1-3年浪尖设计 JAVA工程师 15k-30k 深圳 5-10年雁联技术 JAVA 12k-14k 深圳 3-5年关贸云 java开发 10k-17k 深圳 1-3年跨海侠 高级java开发工程师 15k-30k 深圳 5-10年汇金智融 深圳java初中级工程师 7k-14k 深圳 1-3年海峡投资管理 高级JAVA开发 5k-10k 深圳 1-3年普拉科技 Java 1k-2k 深圳 不限里莫信息 Java工程师(微信开发) 8k-15k 深圳 1-3年达普信 Java开发 12k-16k 深圳 3-5年求势科技 Java高级工程师 15k-28k 深圳 3-5年厂家网商城 Java高级工程师 15k-20k 深圳 5-10年小钱科技 Java 35k-50k 深圳 5-10年壹线科技 Java 5k-10k 深圳 1年之内矩阵元 Java开发工程师 18k-25k 深圳 3-5年科码先锋 Java开发工程师 15k-25k 深圳 3-5年艾游星空 Java 15k-20k 深圳 3-5年有赞 高级Java开发 16k-30k 深圳 3-5年易买屋信息科技 java开发工程师 15k-20k 深圳 3-5年海雅集团 JAVA开发工程师 6k-8k 深圳 1年之内易买屋信息科技 Java开发开程师 8k-15k 深圳 1-3年深圳中电技术 Java开发 12k-18k 深圳 3-5年彩生活 JAVA工程师 7k-8k 深圳 1-3年新国都 java开发工程师(IT) 12k-15k 深圳 3-5年平安科技 资深java开发工程师 18k-30k 深圳 3-5年小码教育 JAVA讲师 8k-10k 深圳 不限上海华腾 Java 10k-18k 深圳 3-5年拓略 java工程师 5k-6k 深圳 1年之内左邻 Java开发工程师 15k-20k 深圳 3-5年平安科技 (ZP)资深Java开发工程师 15k-30k 深圳 不限超巨星 JAVA初中级开发工程师 7k-13k 深圳 1-3年软通动力 java开发 11k-13k 深圳 1-3年软通动力 中高级Java开发工程师 10k-20k 深圳 3-5年上海七圣网络科技 java工程师 8k-12k 深圳 1-3年深圳小脑袋网络科... Java 10k-15k 深圳 3-5年阿里巴巴集团 Java 25k-40k 深圳 1-3年平安科技 Java架构师 20k-40k 深圳 不限武汉佰钧成 Java Web开发 7k-13k 深圳 1-3年云涛创展科技 Java 6k-10k 深圳 1年之内土巴兔 Java 15k-30k 深圳 3-5年OPPO Java 20k-35k 深圳 3-5年文思海辉集团 Java开发工程师 11k-19k 深圳 3-5年永兴元 Java开发工程师(深圳) 7k-13k 深圳 1-3年雨花石云计算 Java开发工程师(18届、17届) 6k-8k 深圳 1-3年海梁科技 初级JAVA软件工程师 8k-15k 深圳 1-3年素由 Java 8k-12k 深圳 1-3年软通动力 Java 20k-30k 深圳 3-5年前海福道技术 JAVA开发工程师 20k-30k 深圳 5-10年惟依欧多贸易 java 15k-20k 深圳 3-5年汇金智融 深圳中高级java 10k-18k 深圳 3-5年兔展 高级Java开发工程师 18k-35k 深圳 5-10年亿科传媒 高级JAVA开发 15k-25k 深圳 3-5年软通动力 Java开发 15k-25k 深圳 5-10年LEOMASTER Java服务端研发工程师 15k-30k 深圳 3-5年启航科技 Java软件开发工程师 8k-14k 深圳 1-3年联龙博通 java开发工程师(深圳) 9k-18k 深圳 1-3年莘达科技 Java初级开发工程师 4k-7k 深圳 应届生上海易立德 中级Java开发工程师 10k-11k 深圳 3-5年大连斯锐信息技术公司 Java开发(佛山) 9k-12k 深圳 3-5年长亮 Java开发 10k-15k 深圳 3-5年莘达科技 java初级开发工程师 4k-6k 深圳 应届生长泉科技 Java 2k-4k 深圳 1年之内雁联技术 初级Java开发工程师 8k-11k 深圳 1-3年汇智众通 Java开发工程师 7k-12k 深圳 1-3年六六玩科技 Java服务器开发工程师 6k-10k 深圳 1-3年艾姆拜氪 JAVA后台开发 20k-30k 深圳 3-5年软通动力 Java开发 13k-26k 深圳 5-10年伟业兴科技 JAVA高级工程师 12k-20k 深圳 5-10年采集科技 JAVA 9k-18k 深圳 3-5年穗彩科技 Java(初中级) 6k-10k 深圳 1-3年前海招文天下金融 java开发师 5k-10k 深圳 1-3年开科惟识 中高级Java开发工程师-深圳 9k-16k 深圳 3-5年华微软件 Java 9k-18k 深圳 1-3年汇金智融 初级Java开发 8k-15k 深圳 1-3年顺丰科技 Java架构师 35k-60k 深圳 5-10年四方精创 Java 12k-22k 深圳 3-5年博彦科技 java web 10k-15k 深圳 3-5年易宝软件 Java 15k-30k 深圳 3-5年全药网 Java 10k-18k 深圳 3-5年云智惠 Java高级工程师 20k-35k 深圳 5-10年软通动力 Java开发 8k-16k 深圳 3-5年大疆创新 Java工程师 15k-30k 深圳 1-3年昆明尚网科技有限公司 Java开发工程师 8k-15k 深圳 1-3年蚂蚁金服 蚂蚁金服深圳JAVA专场通道(快招) 18k-33k 深圳 3-5年长亮 Java工程师 10k-15k 深圳 3-5年大连斯锐信息技术公司 java开发工程师 12k-15k 深圳 3-5年英飞拓 JAVA 8k-15k 深圳 3-5年蚂蚁金服 蚂蚁金服深圳JAVA专场通道(快招) 20k-40k 深圳 3-5年腾讯 Java 15k-30k 深圳 3-5年无极云区块链互联网 Java高级工程师 25k-35k 深圳 5-10年深圳泰久信息 中高级Java开发工程师 10k-20k 深圳 3-5年软通动力 java开发工程师 9k-18k 深圳 1-3年采集科技 JAVA高级开发 14k-28k 深圳 5-10年华曦达科技 Java项目经理 10k-20k 深圳 3-5年国富黄金 高级Java开发工程师 20k-40k 深圳 5-10年上海睿民科技 Java开发工程师(base深圳) 8k-16k 深圳 3-5年明理信息科技 Java开发工程师 10k-20k 深圳 1-3年汇金智融 Java开发工程师 10k-18k 深圳 3-5年格致诚投资 Java 12k-18k 深圳 3-5年哨子科技 中高级Java工程师 15k-30k 深圳 3-5年健康160 Java 15k-30k 深圳 3-5年华为技术有限公司 Java 20k-35k 深圳 5-10年柚安米 Java高级开发工程师 15k-25k 深圳 5-10年共享明天 Java工程师 10k-15k 深圳 3-5年上海睿民科技 JAVA开发工程师 7k-14k 深圳 1-3年亿腾信息 中山证券JAVA开发工程师 12k-14k 深圳 3-5年海尔集团 Java工程师 18k-20k 深圳 3-5年华云中盛 高级Java开发 15k-30k 深圳 3-5年易买屋信息科技 高级Java开发工程师 15k-25k 深圳 3-5年雅士长华 高级Java工程师 13k-25k 深圳 3-5年灵游互娱 JAVA工程师 10k-20k 深圳 3-5年赛象信息 java开发(深圳) 10k-16k 深圳 3-5年兴融联科技 java工程师 10k-18k 深圳 3-5年深圳国开创新科技 java 10k-16k 深圳 1-3年博奥特 中高级JAVA工程师 12k-22k 深圳 3-5年链报信息咨询有限公司 java工程师 8k-16k 深圳 1-3年长亮 Java开发工程师 9k-15k 深圳 3-5年Oracle SaaS高级Java开发工程师 23k-46k 深圳 5-10年蜂后科技 Java开发工程师 10k-15k 深圳 3-5年软通动力 Java自动化测试 9k-18k 深圳 1-3年合泰文化 Java工程师 10k-15k 深圳 3-5年深圳软盟技术 java工程师 12k-20k 深圳 3-5年赤骥商贸有限公司 Java开发工程师 8k-15k 深圳 1-3年赛象信息 Java开发 10k-20k 深圳 3-5年昆明尚网科技有限公司 高级java后台开发 15k-30k 深圳 3-5年无极云 高级java架构师 25k-50k 深圳 5-10年思迪信息 JAVA开发工程师 9k-15k 深圳 3-5年昂纳集团 Java 7k-14k 深圳 1-3年深圳市大白菜 中级JAVA开发工程师 14k-18k 深圳 3-5年汇金智融 深圳java工程师 8k-16k 深圳 3-5年深圳市脉山龙信息... Java开发工程师 12k-15k 深圳 1-3年软通动力 Java 10k-20k 深圳 5-10年长亮 java工程师 10k-15k 深圳 3-5年风神科技 Java游戏服务端 8k-15k 深圳 1-3年长亮 Java 10k-15k 深圳 3-5年微筑科技 Java架构师 30k-50k 深圳 5-10年卡为集团 JAVA工程师 12k-18k 深圳 1-3年爱淘苗电商 java开发工程师 10k-15k 深圳 3-5年博彦科技 java开发工程师 9k-10k 深圳 3-5年国政信 Java开发工程师 6k-12k 深圳 1-3年恒信融通金融 JAVA工程师 7k-12k 深圳 1-3年和而泰 Java开发工程师 13k-22k 深圳 3-5年广州赤骥商贸有限公司 深圳JAVA 12k-20k 深圳 3-5年平安科技 (JC)资深Java开发工程师 15k-30k 深圳 不限邦德教育 Java开发工程师 7k-8k 深圳 1-3年好科科技 Java 20k-40k 深圳 5-10年德科信息 Java高级开发工程师 15k-20k 深圳 5-10年乐道互联网 Java架构师 30k-60k 深圳 5-10年盒淘电商 java高级架构师 30k-50k 深圳 5-10年深圳信汇泰 Java开发 10k-20k 深圳 1-3年瑞泰信资讯 JAVA接口开发工程师 5k-10k 深圳 1-3年上海长亮 Java 10k-20k 深圳 3-5年阿里巴巴集团 9月深圳专场-高级JAVA工程师/专家 20k-40k 深圳 5-10年蚂蚁金服 蚂蚁金服深圳JAVA专场通道(快招) 30k-50k 深圳 3-5年深圳雁联 JAVA中级【深圳--罗湖】 9k-14k 深圳 1-3年超级猩猩健身 Java研发工程师 10k-20k 深圳 1-3年蚂蚁金服 蚂蚁金服深圳JAVA专场通道(快招) 18k-31k 深圳 不限梦蓝网络 Java 10k-13k 深圳 3-5年阿法加科技 中高级java开发工程师 15k-30k 深圳 5-10年熠宸信息 JAVA软件工程师 8k-10k 深圳 1-3年四方精创 Java工程师 15k-25k 深圳 3-5年华为 Java 17k-34k 深圳 不限小源科技 Java开发工程师 13k-20k 深圳 1-3年华夏软件 Java开发及大数据实施 5k-6k 深圳 3-5年赤骥商贸有限公司 java 12k-15k 深圳 3-5年菠萝三维 JAVA开发工程师 9k-15k 深圳 1-3年瑞泰信资讯 JAVA资深开发工程师 12k-24k 深圳 3-5年跨越速运 高级JAVA工程师 15k-30k 深圳 5-10年有赞 Java - base杭州 16k-30k 深圳 3-5年智慧享联 Java 15k-30k 深圳 5-10年江融信 Java中级工程师 15k-25k 深圳 3-5年喜盈佳 Java后端开发/springboot 12k-20k 深圳 5-10年北京东成云凯科技股份 Java 6k-9k 深圳 1-3年生银万国 Java 8k-15k 深圳 1-3年甘瑞利 java 10k-20k 深圳 1-3年讯毅网络 Java工程师 15k-25k 深圳 3-5年四方精创 JAVA开发工程师 12k-22k 深圳 3-5年河马互娱 JAVA开发游戏工程师 15k-20k 深圳 1-3年红茶移动 Java工程师 10k-20k 深圳 1-3年比特空间 JAVA架构师 20k-35k 深圳 5-10年云沃客 java开发 10k-15k 深圳 1-3年中顺易 Java开发工程师 15k-20k 深圳 3-5年哔吡互娱 Java 14k-20k 深圳 3-5年蚂蚁金服 蚂蚁国际深圳研发中心Java高级开发工程师 20k-40k 深圳 3-5年普拉科技 Java 2k-3k 深圳 不限海康威视 JAVA工程师 10k-15k 深圳 1-3年华世恒通网络科技 高级java工程师 15k-20k 深圳 5-10年用友金融 Java 10k-13k 深圳 3-5年柚安米 JAVA开发工程师 16k-25k 深圳 3-5年天源迪科 Java 8k-15k 深圳 3-5年亚太卫星 Java高级工程师 10k-18k 深圳 3-5年软通动力 Java 15k-25k 深圳 不限中软国际 Java 10k-20k 深圳 1-3年银信科技 JAVA开发工程师 13k-23k 深圳 3-5年深圳雁联 JAVA软件工程师(中级)【深圳】 9k-14k 深圳 1-3年中软国际 Java开发 12k-24k 深圳 1-3年易聆科 JAVA开发工程师 7k-9k 深圳 1-3年蚂蚁金服 蚂蚁金服深圳JAVA专场通道(快招) 18k-33k 深圳 3-5年深圳万谷盛世 Java Spring 后端高级工程师 20k-30k 深圳 5-10年深圳一声笑科技 Java架构师 20k-30k 深圳 3-5年深圳鼎游 Java开发工程师 5k-8k 深圳 不限LEVE乐无 JAVA高级工程师 15k-25k 深圳 3-5年