xpath爬取智联招聘--大数据开发职位并保存为csv

先上项目效果图:

本次爬取的URL为智联招聘的网址:https://www.zhaopin.com/

首先先登录上去,为了保持我们代码的时效性,让每个人都能直接运行代码出结果,我们要获取到我们登录上去的cookies,并把他放在表头里headers。注意cookies就是保存你的登录信息,每个机器每个时间段该cookies是不同的

找到user-id这个网络请求,把headers里的cookies值复制下来,注意不要直接右键点复制Copy value,这样会导致自动变中文,我们直接点右键正常复制即可。

复制到请求表头里:

headers = {"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko)","cookie":'x-zp-client-id=3c93dfd0-b090-49e6-e254-80e2fd244823; sts_deviceid=177e9137db1b32-00270991791f53-73e356b-1382400-177e9137db2cfe; sensorsdata2015jssdkcross=%7B%22distinct_id%22%3A%221062819381%22%2C%22first_id%22%3A%22177e91387de573-0029b455e8c501-73e356b-1382400-177e91387dfc4b%22%2C%22props%22%3A%7B%22%24latest_traffic_source_type%22%3A%22%E7%9B%B4%E6%8E%A5%E6%B5%81%E9%87%8F%22%2C%22%24latest_search_keyword%22%3A%22%E6%9C%AA%E5%8F%96%E5%88%B0%E5%80%BC_%E7%9B%B4%E6%8E%A5%E6%89%93%E5%BC%80%22%2C%22%24latest_referrer%22%3A%22%22%7D%2C%22%24device_id%22%3A%22177e91387de573-0029b455e8c501-73e356b-1382400-177e91387dfc4b%22%7D; ssxmod_itna=QqfxyDgDRGD==0KP0LKYIEP8rDCD0lrYt7nQrOx0vP2eGzDAxn40iDt==yD+/EQfwxawKmg25aYGmn4ba1jnraRNOIDB3DEx06xEGQxiiyDCeDIDWeDiDG+7D=xGYDjjtUlcDm4i7DYqGRDB=U8qDfGqGWFLQDmwNDGdK6D7QDIk=gnfrDEeDSKitdj7=DjubD/+DWV7=YT1cNjTUi51KPQDDHWBwC6B5P9=edbWpReWiDtqD9DC=Db+d3uc=lbepKWrhTjbhtI7D660GslDmXkADCaD4I0zGNzAqBrB3L0BqDG4VQeD; ssxmod_itna2=QqfxyDgDRGD==0KP0LKYIEP8rDCD0lrYt7nQEDnF8nDDsqzDLeEiq=m4Q9vd08DeMwD=; at=042ae3d365b444a4bcbf7a73316bb427; rt=7165b7bf4cc94bc786a37e1b14ef5e2d; acw_tc=2760827216207076735498974ea0a63d31d1cc2de256ee4bf6451ee43953cf; locationInfo_search={%22code%22:%22779%22%2C%22name%22:%22%E4%B8%9C%E8%8E%9E%22%2C%22message%22:%22%E5%8C%B9%E9%85%8D%E5%88%B0%E5%B8%82%E7%BA%A7%E7%BC%96%E7%A0%81%22}; Hm_lvt_38ba284938d5eddca645bb5e02a02006=1620652584,1620694762,1620707675; Hm_lpvt_38ba284938d5eddca645bb5e02a02006=1620707811'
}

搜下大数据职业,筛选下职业。

我们进入“大数据开发工程师专栏”:

老规矩,F12打开开发人员附页,我们需要的是工作名,工资,地址,工作经验,学历以及所需要的技能。

点击页面第一个招聘信息的“大数据开发工程师”,观察开发人员附页可以看到如下:

我们定位到,用xpath解析这里为根路径,之后的工作名,工资,地址,工作经验,学历以及所需要的技能

都是从这个路径开始循环解析。(因为xpath解析到上面的路径是多个对象,因此我们对每个对象再进一步解析即可)。

xpath解析工作名为:

job_name = job.xpath('./a/div[1]/div[1]/span/span/text()')

xpath解析工资为:

job_salary = job.xpath('normalize-space(./a/div[2]/div[1]/p/text())')

xpath解析地址为:

job_area = job.xpath('./a/div[2]/div[1]/ul/li[1]/text()')[0]

xpath解析工作经验为:

job_experience = job.xpath('./a/div[2]/div[1]/ul/li[2]/text()')[0]

xpath解析学历为:

job_education = job.xpath('./a/div[2]/div[1]/ul/li[3]/text()')[0]

xpath解析技能为:

job_skill = job.xpath('./a/div[3]/div[1]//div[@class="iteminfo__line3__welfare__item"]/text()')

解析完后用字典装起来即可,最后再用列表追加。

自动分页分析,可以看到每一页都是url最后一个字代表页数:

最后就是保存为csv文件即可:

def save_data(job_list):with open('./爬取智联招聘大数据开发.csv', 'w', encoding="utf-8",newline="") as file:write = csv.DictWriter(file, fieldnames=['工作名', '薪水', '地点', '经验', '学历', '技能'])write.writeheader()for i in job_list:write.writerow(i)

完整代码如下:

from lxml import etree
import requests
import csvURI = "https://sou.zhaopin.com/?jl=765&kw=大数据开发工程师&p={}"
headers = {"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko)","cookie":'x-zp-client-id=3c93dfd0-b090-49e6-e254-80e2fd244823; sts_deviceid=177e9137db1b32-00270991791f53-73e356b-1382400-177e9137db2cfe; sensorsdata2015jssdkcross=%7B%22distinct_id%22%3A%221062819381%22%2C%22first_id%22%3A%22177e91387de573-0029b455e8c501-73e356b-1382400-177e91387dfc4b%22%2C%22props%22%3A%7B%22%24latest_traffic_source_type%22%3A%22%E7%9B%B4%E6%8E%A5%E6%B5%81%E9%87%8F%22%2C%22%24latest_search_keyword%22%3A%22%E6%9C%AA%E5%8F%96%E5%88%B0%E5%80%BC_%E7%9B%B4%E6%8E%A5%E6%89%93%E5%BC%80%22%2C%22%24latest_referrer%22%3A%22%22%7D%2C%22%24device_id%22%3A%22177e91387de573-0029b455e8c501-73e356b-1382400-177e91387dfc4b%22%7D; ssxmod_itna=QqfxyDgDRGD==0KP0LKYIEP8rDCD0lrYt7nQrOx0vP2eGzDAxn40iDt==yD+/EQfwxawKmg25aYGmn4ba1jnraRNOIDB3DEx06xEGQxiiyDCeDIDWeDiDG+7D=xGYDjjtUlcDm4i7DYqGRDB=U8qDfGqGWFLQDmwNDGdK6D7QDIk=gnfrDEeDSKitdj7=DjubD/+DWV7=YT1cNjTUi51KPQDDHWBwC6B5P9=edbWpReWiDtqD9DC=Db+d3uc=lbepKWrhTjbhtI7D660GslDmXkADCaD4I0zGNzAqBrB3L0BqDG4VQeD; ssxmod_itna2=QqfxyDgDRGD==0KP0LKYIEP8rDCD0lrYt7nQEDnF8nDDsqzDLeEiq=m4Q9vd08DeMwD=; at=042ae3d365b444a4bcbf7a73316bb427; rt=7165b7bf4cc94bc786a37e1b14ef5e2d; acw_tc=2760827216207076735498974ea0a63d31d1cc2de256ee4bf6451ee43953cf; locationInfo_search={%22code%22:%22779%22%2C%22name%22:%22%E4%B8%9C%E8%8E%9E%22%2C%22message%22:%22%E5%8C%B9%E9%85%8D%E5%88%B0%E5%B8%82%E7%BA%A7%E7%BC%96%E7%A0%81%22}; Hm_lvt_38ba284938d5eddca645bb5e02a02006=1620652584,1620694762,1620707675; Hm_lpvt_38ba284938d5eddca645bb5e02a02006=1620707811'
}def get_url(url):response = requests.get(url=url,headers=headers)html = response.content.decode("utf-8")return htmldef get_data(html):etree_obj = etree.HTML(html)all_job = etree_obj.xpath('//div[@class="joblist-box__item clearfix"]')job_list = []for job in all_job:job_dic = {}job_name = job.xpath('./a/div[1]/div[1]/span[1]/span/text()')job_salary = job.xpath('normalize-space(./a/div[2]/div[1]/p/text())')job_area = job.xpath('./a/div[2]/div[1]/ul/li[1]/text()')[0]job_experience = job.xpath('./a/div[2]/div[1]/ul/li[2]/text()')[0]job_education = job.xpath('./a/div[2]/div[1]/ul/li[3]/text()')[0]#技能可能有多个,循环爬取job_skill = job.xpath('./a/div[3]/div[1]//div[@class="iteminfo__line3__welfare__item"]/text()')print(job_skill)job_dic['技能'] = job_skill#有些职业名为空if len(job_name) != 0:job_dic['工作名'] = job_name[0]job_dic['薪水'] = job_salaryjob_dic['地点'] = job_areajob_dic['经验'] = job_experiencejob_dic['学历'] = job_educationjob_list.append(job_dic)return job_listdef save_data(job_list):with open('./爬取智联招聘大数据开发.csv', 'w', encoding="utf-8",newline="") as file:write = csv.DictWriter(file, fieldnames=['工作名', '薪水', '地点', '经验', '学历', '技能'])write.writeheader()for i in job_list:write.writerow(i)if __name__ == "__main__":job_list = []for i in range(23):url = URI.format(i)print("正在解析第{}页中".format(i))html = get_url(URI)job_list1 = get_data(html)job_list+=job_list1save_data(job_list)

本次分享到这就结束了,谢谢大家观看哈,欢迎有问题探讨!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/37626.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

用python爬取前程无忧网大数据岗位信息并分析

爬虫的基本思路 1、在前程无忧官网检索“大数据”的结果中,每条检索结果详情对应的URL存在a标签的href属性中,通过组合选择器可以找到每条检索结果详情的URL。 2、前程无忧的招聘岗位信息数据固定的放在HTML的各个标签内,通过id选择器、标签…

前端工程师简历

总结一下 理解Web,W3C标准 (一淘,SAE,云适配,Zealer,小米,蘑菇街,DNSpod,百姓网) jQuery (云适配,金蚕网络,小米) 跨浏览器适配 (一淘,Zealer,蘑菇街,) HTML5 (云适配,小米,金蚕网络,DNSPod,新浪手机微博) Web语义化 (云适配) 后端语言或经验 (一淘,云适配,小米,金蚕) Ba…

人工智能简历-计算机视觉简历

前言 很多粉丝私我,说面试的事情。 这玩意我不理解,因为如果是计算机科班出身,计算机行业我觉得闭着眼睛找。 简历这玩意我真不会。。。 分享2个东西给大家。 第一个是 出国/在国外找实习/外企的英文简历。 比较流行的是一页。 第二个…

基于requests+pyecharts的前程无忧工作岗位可视化分析

今年大学毕业生预计突破900万大关。 每年毕业的大学生数量是在逐年增加。 根据教育部最新官方数据,预测明年也就是2021年我国高校毕业生人数将达到909万人,首次突破900万人!到2022年,我国高校毕业生人数将超过1000万人&#xff01…

全网首次拆解前端简历,合格的简历长这样...

刷脉脉常遇见各种留帖,内容无非两种:吐槽简历只读不回,面试屡次被挂! 同是前端人,理解大家的不易。替那些工作 2~3 年还写不好简历的前端干着急。 前些天,就挂掉了一个工作 3 年的前端。他的简历就可以当作…

一个Web前端实习生的简历

以下是我大三时候做的简历,其中“基础信息”中的链接全都失效了,其中好多技术现在都不会,还各种“熟悉”、“精通”,当年真的很能装啊????哈哈哈。 职业信息 姓名 XXX 电话 XXXXXXXXXXX 坐标 南京 NanJing 邮箱 XXXXX…

简历自动化抓取,一键get百份求职简历

这次我们就来聊一聊实用性比较高的爬虫案例:简历自动化抓取,一键get百份求职简历。 本次爬取非常顺利,本以为会遇到几个反爬措施,除了定位遇到几个小坑之外,其余地方皆是一帆风顺,值得提一下的地方主要就是下载链接的随机抓取,会更好的具有拟态磨合从而使效率略高(本来…

【大数据实战】招聘网站职位分析

通过采集招聘网站大数据职位信息、利用数据清洗、数据分析、jieba分词、数据挖掘完成整体项目的开发工作。任务包含爬取招聘网站大数据职位信息、使用BeautifulSoup清洗职位信息网页、使用PySpark对智联数据进行分析、对招聘职位信息进行探索分析、使用结巴分词对岗位描述进行分…

自动化测试岗位求职简历编写规范+注意事项,让你的简历脱颖而出

目录 前言 1.个人信息 2.教育背景(写最高学历) 3.个人技能(按精通/掌握/熟练/了解层次来写) 4.工作经历 5.工作经验/项目经历 6.自我评价 总结 前言 挑选一个阅读舒适度不错的模板 HR和面试官看的简历多,都是快速阅读,舒适度特别重要&#xff1b…

360笔试——校招

目录 试题 参考答案 试题

投递简历总是石沉大海?HR表现的机会都不给你?【Python爬虫实战:简历模板采集】

简历模板下载 工具准备项目思路解析简易源码分享 工具准备 数据来源: 站长素材 开发环境:win10、python3.7 开发工具:pycharm、Chrome 项目思路解析 找到进入详情页面的超链接地址,以及对应简历的名字 提取出参数信息 使用xpath语法的时候…

如何用python主抓取股市数据并分析?

导读:在本文中我们研究白酒股票市场的数据。使用baostock来获取股票信息,可视化它们的不同,最后将使用一些方法来分析股票的风险,基于其以前的历史表现。我们还将通过长期短期记忆(LSTM)方法来预测未来的股票价格。注意&#xff0…

选出均线组合多头排列的牛股!股票量化分析工具QTYX-V2.5.6

前言 有些大牛股启动后会以连续快速的风格,开启一轮势不可挡的上涨。 我们来看下“中油资本”这只票上涨中期的特征。我们观察它的形态特征会发现,它的均线系统以多头排列姿态快速发散。在出现这种形态的初期买入的话,上涨效应很强。 于是&am…

cisp-pte通关靶场思路分享

文章写在cisp-pte通关靶场思路分享

15.PDE和PTE属性

一、PDE PTE 结构 低12位是权限位。 低1位是P位,P1代表有效,P0代表无效 低2位是RW位,RW0表示只读,RW1表示可读可写。 低3位是U/S位,U/S1表示用户及超级用户都可以操作页表,U/S0表示只有超级用户可以操作…

Windows保护模式学习笔记(七)—— PDEPTE

Windows保护模式学习笔记(七)—— PDE&PTE Cr3PDE(页目录表项)PTE(页表项)物理页的属性10-10-12分页的补充 实验1:证明PTE的特征1第一步:选择一个进程的Cr3第二步:查…

PTE学习作业

##被攻击者服务器为Linux:加粗样式 1.基础题目之SQL注入 所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。 通过SQL注入漏洞读取/tmp/360/key文件,答案就在文件中。 …

cisp-pte真题解答

0x00 实例1 sql注入 poc:http://192.168.222.135:1081/vulnerabilities/fu1.php?id-1%) ununionion select 1,load_file(/tmp/key),3,4,5,6,7--知识点:1.双写绕过 2.load_file 读取文件内容 0x02 文件上传 知识点: 1.文件内容大小写绕过&a…

pte-文件上传总结

这里写目录标题 文件上传一1126文件上传二 1127文件上传二 1128文件上传1129文件上传总结文件上传一1126 找个gif,删除部分中间内容,改成txt文件,添加 <?php @eval($_POST[123]);?> Content-Type的值是application/octet-stream, 上传文件时,Content-Type的值改im…

PTE考试写作教程

PTE考试写作教程 由经验丰富的母语教师完成准备教程&#xff0c;以在 PTE 考试的写作部分取得成功 课程英文名&#xff1a;PTE Academic Exam Preparation Writing Mastery (Achieve 79) 此视频教程共10.0小时&#xff0c;中英双语字幕&#xff0c;画质清晰无水印&#xff0…