查看原文
其他

Python|爬取淘宝热卖商品并对数据进行柱形图可视化

陈鸥辉 信息科技时代 2024-03-15
    下周就要进行可视化教学了,教材上的案例实在太难了,所以决定接下来两节课一节课讲词云图,一节课讲柱形图,内容都只能期望在体验层面。
本组集体备课资源下载地址:
拉到文章最底端,单击“阅读原文”可以打开下载链接。

链接:https://pan.baidu.com/s/1gwCream0fFoqwgxZLSkALg

提取码:amq7

参考程序:

import requests
from bs4 import BeautifulSoup
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
keyword=input('请输入您要爬取的热卖商品的名称:')
url = 'https://re.taobao.com/search?keyword='+keyword #网址
# 初始化数据容器
title = []#存商品名称
store = []#存店铺名称
price = []#存销售价格
paynum = []#存销量
# 爬取网页上的数据
resp = requests.get(url)
soup = BeautifulSoup(resp.text, "html.parser")
resp.encoding = 'utf-8' # 设置编码
# 标题/店铺名称/价格/销量
all_title = soup.select('span.title')
all_store = soup.select('span.shopNick')
all_price = soup.select('span.pricedetail')
all_paynum = soup.select('span.payNum')
for j in range(len(all_title)):
title.append(all_title[j].text)
store.append(all_store[j].text)
price.append(float(all_price[j].text[1:]))
paynum.append(int(all_paynum[j].text[0:-3]))
#写入表格
df=pd.DataFrame({'商品名':title,'商铺':store,'价格':price,'销量':paynum})
df.to_csv(keyword+'.csv',index=0)
print('数据保存成功!')
#读取表格数据进行可视化
plt.rcParams['font.sans-serif'] = ['SimHei'] # 用来正常显示中文标签
data = pd.read_csv(keyword+'.csv')
dt = data.groupby('商铺')['销量'].sum().nlargest(10)#取销售数最多的10条商铺数据
print(dt)
dt.plot(kind='bar',figsize = (20,5))
plt.show()

相关文章:

爬虫系列:
Python|BeautifulSoup使用select方法详解
Python|词频云图
程序5-3-3 爬取购物平台商品销售数据
Python|任意网页中的所有网址的保存
Python|任意网页中的所有图片下载
Python|文本数据的爬取与清洗
爬虫|爬取全国中小学电脑制作活动技术讲座视频
爬虫|以豆瓣为例简单地介绍清洗数据的方法
爬虫|以豆瓣为例简单地介绍爬取网站数据的方法
爬虫|python读写csv文件的方法完成生涯规划表
推荐|Python 爬虫系列教程一爬取批量百度图片
使用BeautifulSoup解析网页及清洗数据
爬虫的基本原理
关于爬虫的合法性
中国爬虫违法违规案例汇总
继续滑动看下一个
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存