先单纯记一下代码,有时间再补充细节

pyecharts有很多地方不完善,比如横坐标显示

import requests
import pandas as pd
import re
import csv
import parsel
from pyecharts.charts import Bar
from pyecharts import options as optsdef CN(m): #将中文数字转换为数字并取中位数m=m.split('-')a=re.findall('\d+',m[0])b=re.findall('\d+',m[1])return (int(a[0])+int(b[0]))/2url='https://sou.zhaopin.com/?jl=530&kw=Python&p=1'
params={'jl':'530','kw':'Python','p':'1'
}
headers={'accept':'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9','accept-encoding':'gzip, deflate, br','accept-language':'zh-CN,zh;q=0.9','cache-control':'no-cache','cookie':'FSSBBIl1UgzbN7N443S=LNt9ZAuMwG9MUBjrzulq5Fu_KHAJNmxKJGkYJtyx0elo_Pb8aUNQkjH2SZEyIUiL; urlfrom2=121113803; adfbid2=0; x-zp-client-id=e5a0f51c-c5a5-46ce-b283-d1e397772a62; sts_deviceid=1793bb6a85154c-0529b265a81fba-d7e1739-1327104-1793bb6a8524ce; ZP_OLD_FLAG=false; selectCity_search=530; ssxmod_itna2=iqmO7KYve+hDk7DXKT9wDGrqUgCD0oqAKiEdG9io8DBwhxmD7PI2jOFIFGF7Ig1Y5AFBladTrGVYCAyNC0WzlDhEVjZCFn5HvccY9xzo0rdtuhLxzg8XCix7jmDFqG7OeD==; locationInfo_search={%22code%22:%222406%22%2C%22name%22:%22%E9%95%BF%E6%B2%99%E5%8E%BF%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}; sensorsdata2015jssdkcross=%7B%22distinct_id%22%3A%221082192836%22%2C%22first_id%22%3A%221793bb6a866766-0fc03a939627ee-d7e1739-1327104-1793bb6a86742a%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%2C%22%24latest_utm_source%22%3A%22baidupcpz%22%2C%22%24latest_utm_medium%22%3A%22cpt%22%7D%2C%22%24device_id%22%3A%221793bb6a866766-0fc03a939627ee-d7e1739-1327104-1793bb6a86742a%22%7D; ssxmod_itna=QqjxcD07wxgnKGHD8D2eLeGQY=BKm3LomxQQD/fmDnqD=GFDK40EYBoDCi+BnbRgxa4TL3G35hofFiDp5=8ih7SoDHxY=DU=iqpYD4+KGwD0eG+DD4DWDmmFDnxAQDjxGpnXvTs=DEDmb8DGeDep97DY5DhxDCUGPDwx0CE6D4ErYFY35m0=DhaWr8D7vmDlpxIzowvI34BrBvh4TWDB45cIr6TB2e=l53wx0k4q0OnoHz8xO6jEH1Vcub8QrelmreqG+KaD+K=mutgm1qOWRq+YZDYQhtLy0oHk6DD=; x-zp-device-id=a385ebb86b2bd11dbf04ba6b7f48841d; rt=88da4ca385684b4eaa6593f697696311; at=095cbce67fa54e44b0a17460f5789427; acw_tc=276082a116203945630905699e689e1a2729f210aa0696089752acf7e49c97; d4d6cd0b4a19fa72b8cc377185129bb7=9f249f62-0f4d-4301-abc3-660cb202675d; zpfe_probe_token=84253590sbfe9c4bdf858714a6e1ae568985; Hm_lvt_38ba284938d5eddca645bb5e02a02006=1620204516,1620264939,1620367905,1620394570; Hm_lpvt_38ba284938d5eddca645bb5e02a02006=1620394570; FSSBBIl1UgzbN7N443T=5jTa70lZw7LR3VU0Dhe9TWg.6Gfkrelfgrrgnp233zHtJllBIm1fVSafpCxZ2mNz5GVuWd6kaKYV_SzIke9eHbr8vAKSHaCmQwvFjiP9sJNsO5Tt7LWGcNtdL.WHliMHixaJyPLY.SutqTNiSeB1heROUyCPD8vOLmQ6Hh9sIb9xvsTCDBMc896EyB3yPOEdbn.I2kWWNo8HmfZBTLCxMhM_iYsN2lwIKigdrUmIcBnDlClVUV6ExmkYQvW4KkpdrRb0A9oT8X.LiALq.EbNtwt5ky1JdYop.p4WgY.XVh.ERLZUUVyNmA0.rCDry8xB2U47ojree2uPb4BysE5H8o2LNurNj..cu07vrCtSxNGvKgFVmGGrOq9rsYsfzaEY8xDq','pragma':'no-cache','sec-ch-ua':'" Not A;Brand";v="99", "Chromium";v="90", "Google Chrome";v="90"','sec-ch-ua-mobile':'?0','sec-fetch-dest':'document','sec-fetch-mode':'navigate','sec-fetch-site':'none','sec-fetch-user':'?1','upgrade-insecure-requests':'1','user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.93 Safari/537.36',
}
res=requests.get(url,headers=headers,params=params)
r=res.text
selector=parsel.Selector(r)
job=selector.css('.positionlist .iteminfo__line1__jobname span::attr(title)').getall()salary=[]
salary=selector.css('.positionlist .iteminfo__line2__jobdesc .iteminfo__line2__jobdesc__salary::text').getall()
for i in range(len(salary)):salary[i]=salary[i].strip()
dataframe=pd.DataFrame({"职位":job,"薪资":salary})
dataframe.to_csv(r'./zhilian.csv') #生成CSV表格
for i in range(len(salary)):salary[i]=CN(salary[i])
print(len(salary))
bar=(Bar(init_opts=opts.InitOpts(width="1500px",height="750px")).add_xaxis(job).add_yaxis('薪资',salary).set_global_opts(title_opts=opts.TitleOpts(title='智联招聘行情图'),xaxis_opts=opts.AxisOpts(name_rotate=60,name='岗位',axislabel_opts=opts.LabelOpts(rotate=45) #使横坐标斜切45度,不然有些坐标显示不全,不过即使这样也会消失一部分文字))
)
bar.render()

运行后效果如图:

生成饼状图

from pyecharts.charts import Pie
data=[list(z) for z in zip(job,salary)]
pie=(Pie().add('智联招聘行情图',data_pair=data,)
)
pie.render()

生成效果如图:

记一次对某招聘网站的数据爬取并可视化相关推荐

  1. python爬虫,g-mark网站图片数据爬取及补坑

    应用python对g-mark网站图片数据爬取,同时但对于数据抓取失败的图片进行补坑(重新爬取操作),由于是日本网站,没有梯子访问的话,特别容易访问超时,比较合适的补坑操作是直接将数据采集到数据库,而 ...

  2. 基于scrapy框架的关于58同城招聘网站信息的爬取

    起因: 学校项目实训,要求我们爬取招聘网站信息并对其进行分析,在此我和大家分享一下关于我爬取58同城招聘网站信息的过程和结果~ 前期准备步骤: 1.搭建环境:首先把scrapy需要的环境搭建好,再次我 ...

  3. Python爬虫+可视化分析技术实现招聘网站岗位数据抓取与分析推荐系统

    程序主要采用Python 爬虫+flask框架+html+javascript实现岗位推荐分析可视化系统,实现工作岗位的实时发现,推荐检索,快速更新以及工作类型的区域分布效果,关键词占比分析等. 程序 ...

  4. 线上招聘网站信息数据

    一.数据简介 线上招聘是指各公司将其岗位需求.工作地点.能力要求和薪酬等招聘信息发布在互联网上,供求职者参考,以线上的方式进行招聘.线上招聘网站通过互联网相关技术,集结这些线上招聘信息,帮助雇主和求职 ...

  5. 招聘数据爬取、数据处理与可视化(v2--解析JS渲染页面)

    招聘数据爬取.数据处理与可视化(v2--解析JS渲染页面) 更新说明 程序说明 数据爬取 观察网页结构 页面解析 将数据写入csv文件中 通过观察页面链接,爬取所有页面 爬虫程序完整代码 爬取数据结果 ...

  6. Python网络数据爬取及分析-智联招聘

    python网络数据爬取及分析-智联招聘 一. 数据爬取 智联招聘是一家面向大型公司和快速发展的中小企业提供一站式专业人力资源的公司,可在智联招聘网站上根据不同城市.不同职位需求搜索得到相关招聘信息. ...

  7. 分析智联招聘的API接口,进行数据爬取

    分析智联招聘的API接口,进行数据爬取 一丶简介 现在的网站基本上都是前后端分离的,前端的你看到的数据,基本上都不是HTML上的和数据,都是通过后端语言来读取数据库服务器的数据然后动态的加载数据到前端 ...

  8. seleniummitmproxy实现智联招聘数据爬取

    目录 1 智联招聘数据爬取难点 1.1 动态网页 1.2 复杂的API接口 1.3 selenium 2 智联招聘数据爬取的简便路径 3 mitmproxy的抓包操作 3.1 mitmproxy的安装 ...

  9. 【EduCoder答案】Scrapy爬虫(二)热门网站数据爬取

    简介 答案查询的入口网页版 并不是所有的关卡都有答案,有些只有部分关卡有 不要直接复制答案哦 Scrapy爬虫(二)热门网站数据爬取 >>>查看 第1关:猫眼电影排行TOP100信息 ...

最新文章

  1. 你做过的项目会逐渐形成你自己的认知和别人对于你的看法~剑桥工程硕士陶瓷有感
  2. hibernate ——联合主键
  3. 实例55:python
  4. C++自学22:复制内存(memcpy)/设置内存(memset)
  5. 计算机网络路由器是什么东西,路由器是什么
  6. python合并word表格_Python实战009:读取Word文档中的表格数据及表格合并问题解决...
  7. 4键电子手表说明书_电子表通用说明书
  8. 情报监视和侦察的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  9. Unity3D-游戏ARVR开发进阶课程 - 动画系统-宋晓波-专题视频课程
  10. Centos 6或7系统 从Kernel panic – not syncing: Attempted to kill init 故障引发的一系列操作
  11. 2022社区团购回暖,创新 O2O 生鲜电商新零售解决方案
  12. 手机怎么登虚拟服务器,如何用手机号登录云服务器
  13. ad19pcb设置恢复默认_电脑主板BIOS设置详解BIOS知识大全
  14. MicroERP简介及下载
  15. TCP协议详解之TCP Flag标志位来判断TCP会话的开始和结束
  16. 《嵌入式 – GD32开发实战指南》第20章 GD32的存储结构
  17. MSF CMMI系列之 Storyboard Scenarios (Screenshots/Screen Flow Diagram)
  18. 易银波-O2O发展:开启便捷出行新纪元
  19. Kmeans算法及其示例
  20. 如何学好OBJECTIVEC

热门文章

  1. JavaScript中every、filter、forEach、map、some的区别
  2. IE浏览器如何清空浏览器缓存文件?
  3. 新手GitHub使用指南
  4. 电脑命令行发wifi
  5. 千千静听被拖到桌面之外的解决办法
  6. Sublime Merge
  7. FCOS3D label assignment
  8. CCF之“毫无头绪”
  9. js 删除HTML标签指定的属性
  10. 2021年B证(安全员)考试试卷及B证(安全员)考试技巧