python爬虫——数据可视化
数据获取:使用requests库发送HTTP请求获取目标网页的数据; 数据解析:使用BeautifulSoup库对HTML代码进行解析提取所需数据; 数据存储:使用pandas库将数据保存至本地文件; 数据可视化:使用matplotlib和seaborn库对数据进行可视化展示。 代码示例中我们选取了新浪财经网站进行爬取,获取了股票的实时数据并进行了可视化展示。
- 数据获取 在使用Python进行数据获取之前,需要安装requests库,我们可以使用pip命令进行安装。
pip install requests
下面是获取股票实时数据的代码示例:
import requests
url = 'hq.sinajs.cn/list=sh0000…' response = requests.get(url) data = response.text print(data)
首先我们定义了目标网页的URL地址,然后使用requests库发送HTTP请求获取网页数据。得到的response对象中包含了HTTP响应的状态码、响应头和响应体等信息,我们使用response.text获取响应体中的文本数据,即股票实时数据。
- 数据解析 得到股票实时数据后,下一步是对数据进行解析,提取所需的信息。在Python中我们可以使用BeautifulSoup库对HTML代码进行解析,它提供了一种非常方便的方式来获取网页中的数据。
我们先来看看新浪财经网站上股票实时数据的HTML代码:
var hq_str_sh000001="上证指数,3283.92,20.27,0.62,675021,8887585"; 我们可以看到,股票实时数据以var hq_str_sh000001=开头,以分号结尾,中间是以逗号分隔的各个字段。我们可以使用字符串的split()函数将其分割成一个列表。
from bs4 import BeautifulSoup
soup = BeautifulSoup(data, 'html.parser') items = soup.text.split(',') name = items[0].split('=')[1] price = items[1] change = items[2] pchange = items[3] volume = items[4] amount = items[5][:-1] # 去掉最后一个分号 print(name, price, change, pchange, volume, amount)
使用BeautifulSoup库解析HTML代码,我们可以方便地获取各个字段的值。在这里我们使用split()函数将text文本分割成一个列表,然后通过列表的下标获取所需的数据。注意最后一个字段amount中包含有分号,我们使用切片[:-1]去掉最后一个分号。
- 数据存储 我们将股票实时数据保存至本地文件,以便后续的数据可视化展示。在Python中我们可以使用pandas库将数据保存为CSV文件。
import pandas as pd
data = [[name, price, change, pchange, volume, amount]] df = pd.DataFrame(data, columns=['name', 'price', 'change', 'pchange', 'volume', 'amount']) df.to_csv('data.csv', index=False)
使用pandas库创建DataFrame对象,然后将数据保存为CSV文件。注意在保存CSV文件时需要将索引(index)设置为False,否则会将索引也保存到文件中。
- 数据可视化 将数据保存至本地文件后,我们可以使用matplotlib和seaborn库对数据进行可视化展示。下面是代码示例:
import matplotlib.pyplot as plt import seaborn as sns
df = pd.read_csv('data.csv') fig, ax = plt.subplots(figsize=(10, 6)) sns.barplot(x='name', y='pchange', data=df, ax=ax) ax.set_xlabel('股票名称') ax.set_ylabel('涨跌幅') ax.set_title('股票实时涨跌幅')
plt.show()
使用pandas库读取CSV文件中的数据,然后使用seaborn库绘制条形图。在这里我们将股票名称作为x轴,涨跌幅作为y轴。通过设置图形大小、坐标轴标签和标题等属性,我们可以使图形更加美观。
总结 生成结果后我们可以看到,使用Python爬虫获取数据后进行可视化展示非常方便,通过数据图形化展示可以更直观地观察数据的趋势和变化,从而更好地进行数据分析和决策。
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhgbcege
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01