网络爬虫+数据可视化
(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()
网络爬虫+数据可视化相关推荐
- 【爬虫+数据可视化】Python爬取CSDN博客访问量数据并绘制成柱状图
以下内容为本人原创,欢迎大家观看学习,禁止用于商业及非法用途,谢谢合作! ·作者:@Yhen ·原文网站:CSDN ·原文链接:https://blog.csdn.net/Yhen1/article/ ...
- 网易云音乐爬虫 数据可视化分析
网易云音乐爬虫 & 数据可视化分析 1. 数据爬取 1.1 评论爬取 1.2 用户信息爬取 2 数据清洗 & 可视化 歌评文本分析 个人博客:Archiew's blog 源码:htt ...
- 中国天气网爬虫数据可视化
目录 中国天气网爬虫数据可视化 爬虫功能 网页分析 以华北地区为例分析网页源代码 1.以谷歌浏览器为例分析 2. 提取特征标签 3.分析源代码 利用requests库获取目标网页源代码 利用Beaut ...
- 【爬虫+数据可视化毕业设计:英雄联盟数据爬取及可视化分析,python爬虫可视化/数据分析/大数据/大数据屏/数据挖掘/数据爬取,程序开发-哔哩哔哩】
[爬虫+数据可视化毕业设计:英雄联盟数据爬取及可视化分析,python爬虫可视化/数据分析/大数据/大数据屏/数据挖掘/数据爬取,程序开发-哔哩哔哩] https://b23.tv/TIoy6hj
- 淘宝,tmall,1688,抖音,拼多多等平台商品详情接口(网络爬虫数据接口调用示例)接口对接教程
淘宝,tmall,1688,抖音,拼多多等平台商品详情接口(网络爬虫数据接口调用示例)接口对接教程如下: 1.公共参数 名称 类型 必须 描述(接口代码教程wx19970108018) key Str ...
- 【计算机专业毕设之基于python的nba爬虫数据可视化分析系统】
[计算机专业毕设之基于python的nba爬虫数据可视化分析系统-哔哩哔哩https://b23.tv/BijZd9L 爬虫+Django+数据分析可视化
- Python爬虫数据可视化
Python爬虫--数据可视化 导入需要的第三方库 import matplotlib.pyplot as plt import seaborn as sns import pandas as pd ...
- 基于python的网络小说数据可视化分析系统设计与实现
开发工具(eclipse/idea/vscode等):pychram 数据库(sqlite/mysql/sqlserver等):sqlite或者mysql 功能模块(请用文字描述,至少200字): 1 ...
- 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. ...
- Python爬虫数据分析毕业论文,Python爬虫数据可视化
如何用Python爬虫抓取网页内容? 爬虫流程其实把网络爬虫抽象开来看,它无外乎包含如下几个步骤模拟请求网页.模拟浏览器,打开目标网站.获取数据.打开网站之后,就可以自动化的获取我们所需要的网站数据. ...
最新文章
- 基于Vue, Vuex 和 ElementUI 构建轻量单页Hexo主题Lite
- Synchronized和ReentranLock的区别
- 【NLP】 聊聊NLP中的attention机制
- Petya and Exam
- 90后程序员代码漏洞更多?
- c语言中去掉最小值,2020-07-12(C语言)从顺序表中删除具有最小值的元素(假设唯一)并由函数返回被删除元素的值。空出的位置由最后一个元素填补,若顺序表为空则显示出错信息并退出运行。...
- autosar中bsw架构组成_AUTOSAR分层架构深度解析
- 520礼包 | 情感分析算法从原理到PaddlePaddle实战全解
- 牛客 小a与星际探索 bfs
- 群晖 半洗白_群晖6.17/6.21二合一引导启动系统盘
- 《HALCON机器视觉与算法原理编程实践》第1章 机器视觉概述-学习笔记
- 计算机课程屏幕录制,电脑录屏怎么录?游戏课程会议都能录制的实用方法
- 哪些好的绘图软件和绘图工具?
- 无人便利店代理前景分析
- 用什么工具可以免费下载720云VR全景图
- 悟饭服务器连接中断,英雄联盟连接服务器失败解决方法
- 汇正财经骗局?科创50大涨
- 4.3.2 桥架翻模
- Windows 控件 Microsoft.Office.Interop.Excel 复制sheet
- ObiFruid创建流体,ObiFruid学习笔记
热门文章
- Excel 2007数据透视表如何对数值进行筛选
- 《深入浅出MFC》第一、二章笔记
- 正则 负数 python_如何系统的自学 Python?“从新手到大师”的百天之路(上)
- 虚拟机中安装windows XP系统
- 西数linux驱动程序,下载:西数移动硬盘WD SES Driver驱动更新
- 关于管理者应该拥有的的六十…
- C语言简单通讯录模板
- Mi11Pro刷机记录
- 常用视频格式简述(RMVB\RM\WMV\ASF\AVI\MPEG1\MPEG2\MPEG4\MOV)
- QT on Android的rtsp播放器demo