Web Scraper抓取+pycharm分析淘宝商品

axiu呀 2024-07-16 14:03:02 阅读 63

1、爬取淘宝商品前十页

下载的文件存放位置

2、导入项目编程需要使用到的Python库

copy: 用于创建对象的浅复制或深复制

matplotlib 和 matplotlib.pyplot: 这两个库是Python中最常用的绘图库,用于生成各种静态、动态、交互式的图表和图形。

numpy: 提供了强大的多维数组对象和数学函数库

pandas: 强大的数据处理和分析工具,基于 numpy 构建,可以方便地处理结构化数据,如CSV或Excel文件中的表格数据。

matplotlib.font_manager.FontProperties: 用于设置matplotlib中字体属性的类,比如字体大小、样式等

re: Python的标准库,提供正则表达式匹配操作

seaborn: 基于matplotlib的数据可视化库,提供了更高级、更美观的统计图形绘制功能,适合做数据分布的视觉展示。

jieba: 中文分词库,用于对中文文本进行词语切分,是处理中文文本数据的重要工具。

jieba.analyse.extract_tags: jieba库中的一个功能,用于提取文本中的关键词,常用于文本主题分析。

WordCloud: 用于生成词云的库,可以帮助可视化文本数据中单词的频率。

3、设置字体

4、导入数据

df = pd.read_csv("taobao.csv", encoding='utf-8')

使用了Pandas库来读取一个名为"taobao.csv"的CSV文件,并指定文件的字符编码为'utf-8'。

5、数据概述

(1)查看数据前十行

print(df.head(10))是一个Pandas命令,用于显示DataFrame对象df的前10行数据。输出一个表格形式的结果,展示CSV文件导入后 DataFrame 的初始部分数据。

(2)查看列名

print(df.columns) 这段代码的作用是打印出DataFrame df 所有列的名称

(3)修改列名至表中

new_column_names = ['序号', '商品链接', '标题', '商店名', '卖点1', '卖点2', '价格(元)', '销售', '发货地']

df.rename(columns=dict(zip(df.columns, new_column_names)), inplace=True)

print(df.columns)

df.to_csv('taobao.csv' , index=False)

创建了一个列表new_column_names,里面存放了给DataFrame列重新命名的新列名。

使用df.rename()函数和字典dict(zip(df.columns, new_column_names))来将原DataFrame的列名映射到新的列名上

调用print(df.columns)来打印出修改后的列名,确认列名是否已经成功更新。

使用df.to_csv('taobao.csv', index=False)将修改列名后的DataFrame保存回CSV文件。index=False参数表示在保存时不包含索引列

(4)查看末尾5行的数据

print(df.tail(n=5)):指定要从末尾开始显示的 5 行

(5)查看行数和列数

print(df.shape):打印DataFrame‘df’的形状,即行数和列数

(6)查看所有列名

print(df.columns)这个命令是用来打印DataFrame ‘df’所有列的名称

(7)查看详细结构信息

print(df.info()):会显示出DataFrame的详细结构信息,包括数据框的总览(列名及其数据类型);每一列的非空值数量;数据框所占内存大小;索引的类型和唯一标识数量

(8)查看每列的数据类型

print(df.dtypes) :打印出DataFrame‘df’中每列数据的类型

(9)查看‘商店名’的所有唯一值

print(df['商店名'].unique()) 这行代码的作用是打印出DataFrame df中'商店名'这一列所有不重复的值,显示出该列所有唯一的商店名称。

(10)查看价格从高到低排列

price = df.sort_values(by=['价格(元)'], ascending=False)

print(price)

1、对DataFrame df按照'价格(元)'这一列的值进行降序排序,

2、排序后的新DataFrame被赋值给了变量price。

3、通过print(price)打印出这个按价格降序排列的数据Frame。

(11)创建透视表以多种维度查看数据的不同汇总视图

pivot_table_example = pd.pivot_table(df, values='价格(元)', index='商店名', columns='卖点1', aggfunc="nunique")

print(pivot_table_example)

print(df.columns)

print(pivot_table_example): 这将打印出创建的数据透视表,展示了不同商店的每个卖点对应的不同价格数量。

print(df.columns): 这行代码打印出原始DataFrame df 的所有列名,以便了解数据框架的结构。

(12)查看价格大于500元的行

high_price_items = df[df['价格(元)'] > 500]:从DataFrame df中筛选出“价格(元)”列值大于500的行

print(high_price_items):打印出这些高价商品的信息

6.数据清洗

(1)查看每列非空数据

print(df.count()):打印出DataFrame df中每列非空值的数量。运行这段代码后,显示出一个Series,其中索引是列名,对应的值是各列中非空数据项的数量

(2)检查是否有空值

print(df.isnull().sum()):检查DataFrame df中每一列含有多少缺失值(NaN值)。df.isnull()会返回一个布尔值的DataFrame,其中True表示该位置的值是缺失的,False表示有值。紧接着调用.sum()会计算每一列中True的个数,也就是缺失值的数量。

<


声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。