• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

python如何爬取网站数据并进行数据可视化

python 搞代码 4年前 (2022-01-09) 28次浏览 已收录 0个评论

来2源gaodaima#com搞(代@码&网前言

爬取拉勾网关于python职位相关的数据信息,并将爬取的数据已csv各式存入文件,然后对csv文件相关字段的数据进行清洗,并对数据可视化展示,包括柱状图展示、直方图展示、词云展示等并根据可视化的数据做进一步的分析,其余分析和展示读者可自行发挥和扩展包括各种分析和不同的存储方式等。。。。。

一、爬取和分析相关依赖包

  • Python版本: Python3.6
  • requests: 下载网页
  • math: 向上取整
  • time: 暂停进程
  • pandas:数据分析并保存为csv文件
  • matplotlib:绘图
  • pyecharts:绘图
  • statsmodels:统计建模
  • wordcloud、scipy、jieba:生成中文词云
  • pylab:设置画图能显示中文

在以上安装或使用过程中可能读者会遇到安装或导入失败等问题自行百度,选择依赖包的合适版本

二、分析网页结构

通过Chrome搜索’python工程师’,然后右键点击检查或者F12,,使用检查功能查看网页源代码,当我们点击下一页观察浏览器的搜索栏的url并没有改变,这是因为拉勾网做了反爬虫机制, 职位信息并不在源代码里,而是保存在JSON的文件里,因此我们直接下载JSON,并使用字典方法直接读取数据.即可拿到我们想要的python职位相关的信息,

爬取网页信息代码如下:

import requests

url = ' https://www.lagou.com/jobs/positionAjax.json?needAddtionalResult=false'


def get_json(url, num):
 """
 从指定的url中通过requests请求携带请求头和请求体获取网页中的信息,
 :return:
 """
 url1 = 'https://www.lagou.com/jobs/list_python%E5%BC%80%E5%8F%91%E5%B7%A5%E7%A8%8B%E5%B8%88?labelWords=&fromSearch=true&suginput='
 headers = {
  'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36',
  'Host': 'www.lagou.com',
  'Referer': 'https://www.lagou.com/jobs/list_%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90?labelWords=&fromSearch=true&suginput=',
  'X-Anit-Forge-Code': '0',
  'X-Anit-Forge-Token': 'None',
  'X-Requested-With': 'XMLHttpRequest'
 }
 data = {
  'first': 'true',
  'pn': num,
  'kd': 'python工程师'}
 s = requests.Session()
 print('建立session:', s, '\n\n')
 s.get(url=url1, headers=headers, timeout=3)
 cookie = s.cookies
 print('获取cookie:', cookie, '\n\n')
 res = requests.post(url, headers=headers, data=data, cookies=cookie, timeout=3)
 res.raise_for_status()
 res.encoding = 'utf-8'
 page_data = res.json()
 print('请求响应结果:', page_data, '\n\n')
 return page_data


print(get_json(url, 1))

搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:python如何爬取网站数据并进行数据可视化
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址