毕业设计第一弹

“前程无忧”招聘数据爬虫

操作系统: Win 10
爬取工具: Jupyter Notebook (Anaconda)
存储路径: 电脑D盘,csv格式
文件名: 招聘.csv
语言: python 3.8
需求: 分析数据分析岗位的招聘情况,包括地区分布、薪资水平、职位要求等,了解最新数据分析岗位的情况

1、导入爬虫所需要的requests、csv模块

# 1、发送请求,对于找到分析得到的url地址发送请求
import requests
# 导入时间模块 来个延时
import time
# 保存数据,导入csv模块  字典写入
import csv
f = open('招聘.csv',mode = 'a',encoding = 'utf-8',newline = '')
csv_writer = csv.DictWriter(f,fieldnames = ['岗位名称','公司名称','薪资','城市','福利','公司规模','所处行业','工作经验要求','学历要求','招聘人数','发布时间', '详情页'
])
csv_writer.writeheader()  #写入表头

2、确定请求的url地址

# 确定请求的url地址
for page in range(1,11):print(f'===============正在爬取第{page}页数据内容===============')time.sleep(2)url = f'https://search.51job.com/list/000000,000000,0000,00,9,99,%25E6%2595%25B0%25E6%258D%25AE%25E5%2588%2586%25E6%259E%2590%25E5%25B8%2588,2,{page}.html'# headers 请求头参数  headers 字典数据类型headers = {'Cookie':'_uab_collina=164543084055016766965023; guid=58f3d04867134340a5248e202f80554d; nsearch=jobarea%3D%26%7C%26ord_field%3D%26%7C%26recentSearch0%3D%26%7C%26recentSearch1%3D%26%7C%26recentSearch2%3D%26%7C%26recentSearch3%3D%26%7C%26recentSearch4%3D%26%7C%26collapse_expansion%3D; adv=ad_logid_url%3Dhttps%253A%252F%252Ftrace.51job.com%252Ftrace.php%253Fpartner%253Dsem_pc360s_280%2526ajp%253DaHR0cHM6Ly9ta3QuNTFqb2IuY29tL3RnL3NlbS9qaWFubGlfdjIuaHRtbD9mcm9tPTM2MGFk%2526k%253D1d79cf0d80712e6d8ae85b43444bf67e%2526qhclickid%253Dea89fa5c76488a90%26%7C%26; partner=sem_pc360pz_1; _ujz=MjAzNzIxODA3MA%3D%3D; ps=needv%3D0; 51job=cuid%3D203721807%26%7C%26cusername%3D1Y4kidICmNCR%252FoRCGMLI4bPmECqNa3BhBoq%252FvItOJNY%253D%26%7C%26cpassword%3D%26%7C%26cname%3DqvVOHfs58%252FkvdU2mnjE87A%253D%253D%26%7C%26cemail%3D9Es%252FkspmYK0HViDatG5KId7NuctS4l68StYeDNLeywE%253D%26%7C%26cemailstatus%3D3%26%7C%26cnickname%3D%26%7C%26ccry%3D.0FbpJ4jK2AIQ%26%7C%26cconfirmkey%3D26xU8ts4erdoQ%26%7C%26cautologin%3D1%26%7C%26cenglish%3D0%26%7C%26sex%3D1%26%7C%26cnamekey%3D26Di4Oh.X7CEg%26%7C%26to%3De431c43d220233089a9b2e4035bdefe9621347b7%26%7C%26; slife=lastvisit%3D030200%26%7C%26lowbrowser%3Dnot%26%7C%26lastlogindate%3D20220221%26%7C%26securetime%3DBDhRZFIwAmNWMAc6XGcOYgEzBDA%253D; search=jobarea%7E%60000000%7C%21ord_field%7E%600%7C%21recentSearch0%7E%60000000%A1%FB%A1%FA000000%A1%FB%A1%FA0000%A1%FB%A1%FA00%A1%FB%A1%FA99%A1%FB%A1%FA%A1%FB%A1%FA99%A1%FB%A1%FA99%A1%FB%A1%FA99%A1%FB%A1%FA99%A1%FB%A1%FA9%A1%FB%A1%FA99%A1%FB%A1%FA%A1%FB%A1%FA0%A1%FB%A1%FA%CA%FD%BE%DD%B7%D6%CE%F6%CA%A6%A1%FB%A1%FA2%A1%FB%A1%FA1%7C%21recentSearch1%7E%60030200%A1%FB%A1%FA000000%A1%FB%A1%FA0000%A1%FB%A1%FA00%A1%FB%A1%FA02%A1%FB%A1%FA%A1%FB%A1%FA07%A1%FB%A1%FA99%A1%FB%A1%FA08%A1%FB%A1%FA99%A1%FB%A1%FA9%A1%FB%A1%FA04%A1%FB%A1%FA%A1%FB%A1%FA0%A1%FB%A1%FA%CA%FD%BE%DD%B7%D6%CE%F6%CA%A6%A1%FB%A1%FA2%A1%FB%A1%FA1%7C%21recentSearch2%7E%60030200%A1%FB%A1%FA000000%A1%FB%A1%FA0000%A1%FB%A1%FA00%A1%FB%A1%FA01%A1%FB%A1%FA%A1%FB%A1%FA07%A1%FB%A1%FA99%A1%FB%A1%FA08%A1%FB%A1%FA99%A1%FB%A1%FA9%A1%FB%A1%FA04%A1%FB%A1%FA%A1%FB%A1%FA0%A1%FB%A1%FA%CA%FD%BE%DD%B7%D6%CE%F6%CA%A6%A1%FB%A1%FA2%A1%FB%A1%FA1%7C%21recentSearch3%7E%60030200%A1%FB%A1%FA000000%A1%FB%A1%FA0000%A1%FB%A1%FA00%A1%FB%A1%FA99%A1%FB%A1%FA%A1%FB%A1%FA07%A1%FB%A1%FA99%A1%FB%A1%FA08%A1%FB%A1%FA99%A1%FB%A1%FA9%A1%FB%A1%FA04%A1%FB%A1%FA%A1%FB%A1%FA0%A1%FB%A1%FA%CA%FD%BE%DD%B7%D6%CE%F6%CA%A6%A1%FB%A1%FA2%A1%FB%A1%FA1%7C%21recentSearch4%7E%60030200%2C040000%A1%FB%A1%FA000000%A1%FB%A1%FA0000%A1%FB%A1%FA00%A1%FB%A1%FA99%A1%FB%A1%FA%A1%FB%A1%FA07%A1%FB%A1%FA99%A1%FB%A1%FA08%A1%FB%A1%FA99%A1%FB%A1%FA9%A1%FB%A1%FA04%A1%FB%A1%FA%A1%FB%A1%FA0%A1%FB%A1%FA%CA%FD%BE%DD%B7%D6%CE%F6%CA%A6%A1%FB%A1%FA2%A1%FB%A1%FA1%7C%21collapse_expansion%7E%601%7C%21; privacy=1645437834; acw_tc=781bad2116454504283554093e49d9d548ff0da51db1e780158d031276ae12; acw_sc__v2=621394f4a793eb482bebb8c454803f0463f482bd; ssxmod_itna=Wq+xyWeGqiqmq0dKxbD90KODQNIhY47I3D/YKGDnqD=GFDK40oYHKp=YDO9n59W7AnNbenhLmxzvnoby05p9YPbeDHxY=DUge+4YD4bKGwD0eG+DD4DWDmmFDnxAQDj6KGWDbo=GfDGeDep97DY5DhxDCjGPDwx0CEOxNExYFe35w0o4Geii8D7vwDlcD+Ur8Yt8EkmHowx0kX40OnoH8X2YDUjqqpAqqimurMiGX3BDxQY+qbbhbQ72NAmwYQD6tK6i3WmqyDDatWdD; ssxmod_itna2=Wq+xyWeGqiqmq0dKxbD90KODQNIhY47KG9YyDBwe7jWGcDed1uR+7Dpi5iKx',#     'Host':'search.51job.com',#     'Referer':url,'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36'}# 通过requests模块里面的get请求方法,对于url地址发送请求,并且携带上headers请求头 最后用response变量接收数据response = requests.get(url = url,headers = headers)

运行展示:

3、获取服务器返回的文本数据

# 获取数据  获取服务器返回的response响应数据(文本数据)
print(response.text)   #字符串数据内容,re正则可以直接对于字符串数据进行提取

运行展示:

4、导入数据取值json模块,re文本处理模块,开始爬取

# 3、解析数据,提取我们想要的内容  .*?  匹配任意字符串(除了换行符\n以外)
# 正则提取数据返回列表数据类型  根据列表的索引位置提取内容
# 导入正则表达式模块
import re
html_data = re.findall('window.__SEARCH_RESULT__ = (.*?)</script>',response.text)[0]
# 把字符串数据 转成字典数据类型  因为字典提取数据更加方便
# 导入json模块
import json
# 导入数据请求模块  让json数据输出更好看点
import pprint
json_data = json.loads(html_data)
# json数据取值,就是根据冒号左边的内容,提取冒号右边的内容
# pprint.pprint(json_data)
engine_jds = json_data['engine_jds']
# 提取出来返回列表,列表一个一个提取元素 用for循环遍历
for index in engine_jds:
#     为了方便等会保存数据,提取出来的数据内容可以用字典接收href = f'https://jobs.51job.com/guangzhou-pyq/{index["jobid"]}.html'dit = {'岗位名称':index['job_name'],'公司名称':index['company_name'],'薪资':index['providesalary_text'],'城市':index['workarea_text'],'福利':index['jobwelf'],'公司规模':index['companysize_text'],'所处行业':index['companytype_text'],'工作经验要求':''.join(index['attribute_text'][1]),'学历要求':''.join(index['attribute_text'][2]),'招聘人数':''.join(index['attribute_text'][3]),'发布时间':index['issuedate'], '详情页':href}csv_writer.writerow(dit)pprint.pprint(dit)

运行展示:

5、爬取数据展示

6、下集预告:数据预处理…

“前程无忧”招聘数据爬虫——(1)相关推荐

  1. 【Python】猎聘网招聘数据爬虫(Python网络爬虫课设简要)

    [Python]猎聘网招聘数据爬虫(Python网络爬虫课设简要) 注: 本文仅供学习交流使用! 合肥学院-20信管-20302211009 项目文件可自行前往博客主页下载或联系作者qq(341625 ...

  2. “前程无忧”招聘数据预处理——(2)

    毕业设计第二弹 -- "前程无忧"招聘结构化数据预处理 操作系统: Win 10 操作环境: Jupyter Notebook (Anaconda) 存储路径: 电脑D盘,csv格 ...

  3. Python3爬取前程无忧招聘数据教程

    文章来自群友 易某某 的投稿,在此表示感谢! 原文链接:https://blog.csdn.net/weixin_42572590/article/details/103443213 前几天,我发表了 ...

  4. 爬取前程无忧python招聘数据,看我们是否真的“前程无忧”

    前言 利用python爬取在前程无忧网搜索python关键字出现的最新的招聘数据,保存到本地Excel,进行数据查看和预处理,然后利用matplotlib进行数据分析和可视化. 1. 爬取数据 目标u ...

  5. Python网络爬虫爬取招聘数据(利用python简单零基础)可做可视化

    爬取Boss直聘相关的招聘数据 一.相关需求分析 1.目的 二.直聘网页结构分析 1.网页相关值的查找 2.网页的下一页规律查找 三.Python相关的第三库介绍 1.Urllib的介绍 (1)url ...

  6. Python3网络爬虫之Scrapy框架实现招聘数据抓取

    项目需求: 某招聘网上面有公司发布的的各种工作岗位,进入首页 https://careers.tencent.com/ 后可见 到一个搜索框,如下图所示: 在搜索框输入岗位名称,跳转到如下图所示页面, ...

  7. python3 scrapy实战:爬取拉勾网招聘数据至数据库(反爬虫)

    首先注明:感谢拉勾网提供的权威.质量的数据,本人抱着学习的态度,不愿增加其服务器负担,与dos攻击. 由于后面准备做一个大一点的数据分析项目,所以前提需要获取大量的有质量和权威的信息,其中一个获取点便 ...

  8. python爬虫tableau数据分析_完美!Python爬招聘数据,Tableau做可视化分析

    原标题:完美!Python爬招聘数据,Tableau做可视化分析 交流群预热好久的可视化交互大屏来啦 1.项目背景 随着科技的飞速发展,数据呈现爆发式的增长,任何人都摆脱不了与数据打交道,社会对于&q ...

  9. Python爬虫:爬取“Boss直聘”招聘数据

    hello 大家好~ 又是元气满满的一天呢~ 既然元气满满,要不要搞点事情,譬如说,爬取"Boss直聘"(此处模仿歪果仁讲话更带感)的招聘数据~ 说走咱就走,说干咱就干~" ...

最新文章

  1. python 日志模块 logging
  2. 28 多进程之数据交换Pipe
  3. 计算机四级网络工程师考点速查,全国计算机等级考试标准教程:四级网络工程师...
  4. iOS之深入解析少见却神奇的NSProxy类的多种使用
  5. 写了人生中第一个完整模块的用例
  6. 代码自动生成工具的补充
  7. 随想录(怎么阅读代码)
  8. DevExpress LookUpEdit 数据绑定
  9. HTML - 文本及其格式化
  10. Photoshop中的抠图工具
  11. my ReadBook_zhulidianzishangwushi / dianzishangwushi
  12. openwrt中br-lan,eth0,eth0.1,eth0.2
  13. ZR1012 Zbox loves keyboard (dp)
  14. java中jsp是什么_JSP是什么?
  15. Mtk Camera中Hal1/Hal3的Picture size和Preview size配置
  16. 图的最小生成树(Prim算法、Kruskal算法)
  17. 推荐三个开发C程序的工具(适用各种场合)
  18. 触发器 jackey
  19. 扫盲加扯淡——网友随笔画之云计算
  20. cryengine3中lua脚本模块集成笔记

热门文章

  1. 双链表的初始化(带头结点)
  2. RocketMQ原理梳理总结
  3. 基于Springboot的休闲娱乐代理售票系统
  4. java项目——Dom4j读取XML文件连接orecal数据库
  5. 双向buck boost以及带隔离变压器DAB拓扑可支持各种电压等级的双向DCDC变换,纹波小,动态响应好
  6. python基础教学day20--多任务编程
  7. 软件测试题库怎么样 这个刷题小程序很适合临时抱佛脚
  8. 正式任命!大湾区大学,成立2个新学院!
  9. java simpledateformat gmt_利用SimpleDateFormat进行时间的跨时区转换 - Java
  10. ggplot作图设置双坐标轴-各行其是