(1)网页分析

打开虎扑体育网页,对网页进行分析,使用xpath定位相关元素,提取数据

(2)数据爬取

导入相关的库:“import  requests”,“import csv”,利用requests的get()方法爬取数据,并用csv格式保存数据。

编辑爬虫文件:使用xpath的方法对网页元素进行定位。

运行代码并保存数据。

参考代码如下:

import csvf = open('hpty.csv', mode='a', encoding='utf8', newline='')
csv_write = csv.DictWriter(f, fieldnames=['排名', '球队', '球员', '场均得分', '命中率', '三分命中率', '罚球命中率'])
csv_write.writeheader()
url = 'https://nba.hupu.com/stats/players'
head = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.127 Safari/537.36'
}
nb = requests.get(url, headers=head).text
from lxml import etreesb = etree.HTML(nb)
whh = sb.xpath('//tbody/tr[not(@class)]')
for i in whh:pm = str(i.xpath('./td[1]/text()')).replace("['", "").replace("']", "")  # 排名team = str(i.xpath('./td[3]/a/text()')).replace("['", "").replace("']", "")  # 球队name = str(i.xpath('./td[2]/a/text()')).replace("['", "").replace("']", "")  # 球员score = str(i.xpath('./td[4]/text()')).replace("['", "").replace("']", "")  # 得分mzl = str(i.xpath('./td[6]/text()')).replace("['", "").replace("']", "")  # 命中率sfmzl = str(i.xpath('./td[8]/text()')).replace("['", "").replace("']", "")  # 三分命中率fqmzl = str(i.xpath('./td[10]/text()')).replace("['", "").replace("']", "")  # 罚球命中率print(pm, name, team, score, mzl, sfmzl, fqmzl)data_dict = {'排名': pm, '球队': team, '球员': name, '场均得分': score, '命中率': mzl, '三分命中率': sfmzl, '罚球命中率': fqmzl}csv_write.writerow(data_dict)f.close()

得到的数据如下:

(3)Excel数据可视化图表:

打开“hpty”数据表,选择“F1:G:11单元格区域”,然后单击“插入”选项卡中的“查看所以图表”按钮,弹出“插入图表”对话框,在“所有图表”选项卡中的选择“柱形图”中的任意一种柱形图类型,如右图所示。

(4)Tableau可视化图表

打开Tableau工具,在开始界面选择“连接到文件”,在对话框中将“hpty.csv”导入Tableau;单击“Tableau-工作簿1”界面下方的“工作表1选项”,进入工作表1的界面中,将度量区域中的“球员”字段拖进到列功能区,把度量值区域的“场均得分”拉进到行的功能区,就可以得到垂直的柱形图,如右图所示。

(5) pyecharts可视化图表:

代码:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from pyecharts.charts import Bar
from pyecharts import options as opts
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = Falsedf = pd.read_csv(r'D:\努力学python\文章\hpty.csv')
df2 = df['场均得分'][:10]
df1 = df['球员'][:10]
a = (Bar().add_xaxis(list(df1.values)).add_yaxis('球员场均得分', df2.values.tolist()).set_global_opts(title_opts=opts.TitleOpts(title='球员场均得分情况'),datazoom_opts=opts.DataZoomOpts()))a.render('pyecharts.html')

(6)Pandas数据可视化图表

Pandas使用一维的数据结构Series和二维的数据结构DataFrame来表示数据,Pandas可以存储混合的数据结构。

import pandas as pd
import numpy as np
import matplotlib.pyplot as pltplt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
df = pd.read_csv(r'D:\努力学python\文章\hpty.csv')
data = pd.DataFrame(list(df['场均得分'][:10]),index=df['球员'][:10])data.plot.bar(color='b')
plt.show()

网络爬虫+数据可视化相关推荐

  1. 【爬虫+数据可视化】Python爬取CSDN博客访问量数据并绘制成柱状图

    以下内容为本人原创,欢迎大家观看学习,禁止用于商业及非法用途,谢谢合作! ·作者:@Yhen ·原文网站:CSDN ·原文链接:https://blog.csdn.net/Yhen1/article/ ...

  2. 网易云音乐爬虫 数据可视化分析

    网易云音乐爬虫 & 数据可视化分析 1. 数据爬取 1.1 评论爬取 1.2 用户信息爬取 2 数据清洗 & 可视化 歌评文本分析 个人博客:Archiew's blog 源码:htt ...

  3. 中国天气网爬虫数据可视化

    目录 中国天气网爬虫数据可视化 爬虫功能 网页分析 以华北地区为例分析网页源代码 1.以谷歌浏览器为例分析 2. 提取特征标签 3.分析源代码 利用requests库获取目标网页源代码 利用Beaut ...

  4. 【爬虫+数据可视化毕业设计:英雄联盟数据爬取及可视化分析,python爬虫可视化/数据分析/大数据/大数据屏/数据挖掘/数据爬取,程序开发-哔哩哔哩】

    [爬虫+数据可视化毕业设计:英雄联盟数据爬取及可视化分析,python爬虫可视化/数据分析/大数据/大数据屏/数据挖掘/数据爬取,程序开发-哔哩哔哩] https://b23.tv/TIoy6hj

  5. 淘宝,tmall,1688,抖音,拼多多等平台商品详情接口(网络爬虫数据接口调用示例)接口对接教程

    淘宝,tmall,1688,抖音,拼多多等平台商品详情接口(网络爬虫数据接口调用示例)接口对接教程如下: 1.公共参数 名称 类型 必须 描述(接口代码教程wx19970108018) key Str ...

  6. 【计算机专业毕设之基于python的nba爬虫数据可视化分析系统】

    [计算机专业毕设之基于python的nba爬虫数据可视化分析系统-哔哩哔哩https://b23.tv/BijZd9L 爬虫+Django+数据分析可视化

  7. Python爬虫数据可视化

    Python爬虫--数据可视化 导入需要的第三方库 import matplotlib.pyplot as plt import seaborn as sns import pandas as pd ...

  8. 基于python的网络小说数据可视化分析系统设计与实现

    开发工具(eclipse/idea/vscode等):pychram 数据库(sqlite/mysql/sqlserver等):sqlite或者mysql 功能模块(请用文字描述,至少200字): 1 ...

  9. Python 疫情数据可视化(爬虫+数据可视化)(Jupyter环境)

    目录 1 项目背景 2 项目目标 3 项目分析 3.1数据获取 3.1.1分析网站 3.1.2找到数据所在url 3.1.3获取数据 3.1.4解析数据 3.1.5保存数据 3.2数据可视化 3.2. ...

  10. Python爬虫数据分析毕业论文,Python爬虫数据可视化

    如何用Python爬虫抓取网页内容? 爬虫流程其实把网络爬虫抽象开来看,它无外乎包含如下几个步骤模拟请求网页.模拟浏览器,打开目标网站.获取数据.打开网站之后,就可以自动化的获取我们所需要的网站数据. ...

最新文章

  1. 基于Vue, Vuex 和 ElementUI 构建轻量单页Hexo主题Lite
  2. Synchronized和ReentranLock的区别
  3. 【NLP】 聊聊NLP中的attention机制
  4. Petya and Exam
  5. 90后程序员代码漏洞更多?
  6. c语言中去掉最小值,2020-07-12(C语言)从顺序表中删除具有最小值的元素(假设唯一)并由函数返回被删除元素的值。空出的位置由最后一个元素填补,若顺序表为空则显示出错信息并退出运行。...
  7. autosar中bsw架构组成_AUTOSAR分层架构深度解析
  8. 520礼包 | 情感分析算法从原理到PaddlePaddle实战全解
  9. 牛客 小a与星际探索 bfs
  10. 群晖 半洗白_群晖6.17/6.21二合一引导启动系统盘
  11. 《HALCON机器视觉与算法原理编程实践》第1章 机器视觉概述-学习笔记
  12. 计算机课程屏幕录制,电脑录屏怎么录?游戏课程会议都能录制的实用方法
  13. 哪些好的绘图软件和绘图工具?
  14. 无人便利店代理前景分析
  15. 用什么工具可以免费下载720云VR全景图
  16. 悟饭服务器连接中断,英雄联盟连接服务器失败解决方法
  17. 汇正财经骗局?科创50大涨
  18. 4.3.2 桥架翻模
  19. Windows 控件 Microsoft.Office.Interop.Excel 复制sheet
  20. ObiFruid创建流体,ObiFruid学习笔记

热门文章

  1. Excel 2007数据透视表如何对数值进行筛选
  2. 《深入浅出MFC》第一、二章笔记
  3. 正则 负数 python_如何系统的自学 Python?“从新手到大师”的百天之路(上)
  4. 虚拟机中安装windows XP系统
  5. 西数linux驱动程序,下载:西数移动硬盘WD SES Driver驱动更新
  6. 关于管理者应该拥有的的六十…
  7. C语言简单通讯录模板
  8. Mi11Pro刷机记录
  9. 常用视频格式简述(RMVB\RM\WMV\ASF\AVI\MPEG1\MPEG2\MPEG4\MOV)
  10. QT on Android的rtsp播放器demo