国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Anaconda的嬰兒用品數(shù)據(jù)爬取及可視化分析

2021-01-14 00:47:20謝美英
現(xiàn)代信息科技 2021年14期
關(guān)鍵詞:數(shù)據(jù)可視化數(shù)據(jù)采集數(shù)據(jù)分析

摘 ?要:隨著國家對(duì)二胎、三胎政策的全面放開,新生兒出生數(shù)量有所增長,對(duì)嬰兒用品的數(shù)量和質(zhì)量需求也發(fā)生著改變。本文主要研究嬰兒用品的商品評(píng)論相關(guān)信息的爬取,對(duì)目標(biāo)網(wǎng)站的網(wǎng)頁進(jìn)行分析,采集數(shù)據(jù)。獲取數(shù)據(jù)后,采用Python語言中的Pandas、Numpy等庫進(jìn)行數(shù)據(jù)預(yù)處理。然后,使用Matplotlib、Nltk、Jieba庫對(duì)數(shù)據(jù)分析,去除重復(fù)評(píng)論,去除停用詞,詞頻統(tǒng)計(jì)后制作詞云圖等可視化數(shù)據(jù)結(jié)果,挖掘出大數(shù)據(jù)背后的隱含信息。

關(guān)鍵詞:Anaconda;嬰兒用品;數(shù)據(jù)采集;數(shù)據(jù)分析;數(shù)據(jù)可視化

中圖分類號(hào):TP391 ? ? ? ? ? ? ? ? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):2096-4706(2021)14-0090-04

Abstract: With the full liberalization of the national policy on the second and third children, the number of newborns has increased, and the demand for the quantity and quality of baby products has also changed. This paper mainly studies the crawling of information related to commodity reviews of baby products, analyzes the web pages of the target website, and collects data. After obtaining the data, the paper uses pandas, numpy and other libraries in Python language to preproces data. Then, uses Matplotlib, Nltk and Jieba libraries to analyze the data, removes repeated comments, removes stop words, makes word cloud and other visual data results after word frequency statistics, and mines the hidden information behind the big data.

Keywords: Anaconda; baby care; data acquisition; data analysis; data visualization

0 ?引 ?言

三胎政策的全面實(shí)行,在未來,將會(huì)有不少行業(yè)迎來爆發(fā)式的增長,而母嬰行業(yè)受益顯而易見。若一個(gè)家庭準(zhǔn)備生養(yǎng)小孩,必不可少的是準(zhǔn)備母嬰用品。小到奶嘴尿布,大到孕婦食品和兒童家具,這一系列的消費(fèi)將隨著新生兒數(shù)量的增長而迎來井噴式的發(fā)展高峰。尤其在網(wǎng)絡(luò)購物方面,反映商品體驗(yàn)感和觀點(diǎn)的評(píng)論詞匯,成為消費(fèi)者了解商品及其質(zhì)量的重要渠道。大數(shù)據(jù)、人工智能的發(fā)展則對(duì)嬰兒用品詞匯數(shù)據(jù)的處理帶來了更多便利。

構(gòu)建嬰兒用品消費(fèi)的詞匯數(shù)據(jù),并進(jìn)行有效分析和可視化處理,是各個(gè)地區(qū)商家經(jīng)營母嬰用品,對(duì)商品的種類、材質(zhì)、規(guī)格、銷量等參數(shù)進(jìn)行有效控制的手段。同時(shí),也對(duì)研究人口出生政策起到側(cè)面的支撐作用。

1 ?嬰兒用品數(shù)據(jù)采集

1.1 ?準(zhǔn)備環(huán)境

Anaconda是一個(gè)基于Python語言的數(shù)據(jù)處理和科學(xué)計(jì)算平臺(tái),已經(jīng)內(nèi)置了許多非常有用的第三方庫,裝上Anaconda,相當(dāng)于把Python和一些如Numpy、Pandas、Scrip、Matplotlib 等常用的庫自動(dòng)安裝好,比常規(guī)Python安裝更容易。

首先,進(jìn)入官網(wǎng),點(diǎn)擊下載對(duì)應(yīng)安裝包,下載完成后,按照提示步驟,逐一點(diǎn)擊安裝。選擇安裝其他地址的,可以單獨(dú)新建一個(gè)文件夾來存放跟Anaconda相關(guān)數(shù)據(jù),點(diǎn)擊結(jié)束后安裝完畢。然后,需要配置環(huán)境變量。找到安裝Anaconda的路徑,包含一個(gè)scripts文件,復(fù)制該路徑,通過右鍵“我的電腦”,選擇“屬性”,高級(jí)系統(tǒng)設(shè)置,環(huán)境變量,點(diǎn)擊環(huán)境變量,在系統(tǒng)變量中找到path,選中path,編輯好復(fù)制的路徑,粘貼在分號(hào)后面,點(diǎn)擊確定,保存后關(guān)閉就可以啟動(dòng)Anaconda。

1.2 ?數(shù)據(jù)采集

1.2.1 ?分析網(wǎng)站頁面

爬取電商平臺(tái)的嬰兒用品數(shù)據(jù)之前,為更有效編寫代碼的邏輯,需要對(duì)該網(wǎng)站的域名結(jié)構(gòu)和層次劃分清楚。本文以淘寶網(wǎng)為例,進(jìn)入首頁,搜索輸入“奶瓶”,進(jìn)入展示頁面,點(diǎn)擊第一個(gè)產(chǎn)品,進(jìn)入“comotomo可么多么原裝進(jìn)口硅膠奶瓶新生兒套裝韓國官方正品”的銷售頁面,該頁面包含了“累計(jì)評(píng)價(jià)”數(shù)據(jù),其中,本次有效處理提取的數(shù)據(jù)是商品的評(píng)論內(nèi)容、評(píng)論時(shí)間和商品分類類型。

爬取數(shù)據(jù)前,登錄淘寶網(wǎng),查看可么多么原裝進(jìn)口硅膠奶瓶的評(píng)論,建議選擇谷歌瀏覽器,選擇開發(fā)者工具或者按快捷鍵F12,找到Network選項(xiàng),打開源代碼頁查找,發(fā)現(xiàn)源代碼頁沒有任何關(guān)于商品評(píng)論的信息,再去檢查頁進(jìn)行查找,查找以“l(fā)ist_detail_rate.htm?”開頭的文件,在檢查頁的json數(shù)據(jù)里找到,然后需要向這些數(shù)據(jù)發(fā)送請(qǐng)求。該頁面的檢查頁信息和評(píng)論信息如圖1所示。

1.2.2 ?編寫代碼爬取數(shù)據(jù)

(1)導(dǎo)入需要用到的包,代碼如以下所示:

import requests ? # 導(dǎo)入第三方模塊requests庫

import csv

import re # 導(dǎo)入正則表達(dá)式庫

import numpy as np ? # 導(dǎo)入科學(xué)計(jì)算庫

import pandas as pd ? # 導(dǎo)入數(shù)據(jù)分析庫

import time

import random

(2)根據(jù)上面的網(wǎng)頁結(jié)構(gòu)分析,找到真正的需要爬取的頁面URL和Headers頭部信息,包括referer、user-agent和cookie。評(píng)論頁面的地址很長,但是可以分析出規(guī)律,比如其中itemId是商品id,sellerid是賣家id,currentPage是頁面號(hào),reply是評(píng)論回復(fù)等等。編寫的代碼以及運(yùn)行結(jié)果是全部的頁面信息,如圖2所示。

(3)利用正則表達(dá)式對(duì)全部頁面信息進(jìn)行提取,得到該款嬰兒用品的評(píng)論內(nèi)容、評(píng)論時(shí)間和產(chǎn)品類型。多觀察分析幾個(gè)URL后,發(fā)現(xiàn)只有currentPage部分不同,表示評(píng)論頁碼。因?yàn)槿吭u(píng)論內(nèi)容包含59頁多,需要用到循環(huán)結(jié)構(gòu)實(shí)現(xiàn)。循環(huán)之前,先定義3個(gè)初始為空的列表,分別表示評(píng)論內(nèi)容、評(píng)論時(shí)間和商品類型。編寫的關(guān)鍵代碼為:

for i in range(1,60):

url2 = ‘https://rate.tmall.com/list_detail_rate.htm?itemId=558660246338&spuId=878404666&sellerId=3296637765&order=3&currentPage=’+str(i)+’&append=0&content=1…’(說明:該url很長,此處省略了后面一部分。)

time.sleep(random.randint(3,9))

data = requests.get(url2,headers = headers).text

pat_content = re.compile(‘”rateContent”:”(.*?)”,”fromMall”’)

pat_time = re.compile(‘”rateDate”:”(.*?)”,”rateContent”’)

pat_type = re.compile(‘”auctionSku”:”(.*?)”,”anony”’)

content.extend(pat_content.findall(data))

content_time.extend(pat_time.findall(data))

type.extend(pat_type.findall(data))

data

dict = {

'評(píng)論':content,

'時(shí)間':content_time,

'類型':type

}

new_frame = pd.DataFrame(dict)

運(yùn)行結(jié)果得到需要的評(píng)論數(shù)據(jù),如圖3所示。

(4)存儲(chǔ)數(shù)據(jù)到csv文件,得到“嬰兒用品評(píng)論信息.csv”。Python提供了多種格式的數(shù)據(jù)存儲(chǔ)形式,由于本實(shí)驗(yàn)數(shù)據(jù)量不大,選擇了csv文件格式。以可么多么原裝進(jìn)口硅膠奶瓶為對(duì)象商品評(píng)論表,包含1210條原始評(píng)論數(shù)據(jù)。

2 ?嬰兒用品數(shù)據(jù)預(yù)處理

(1)導(dǎo)入相關(guān)包和嬰兒用品評(píng)論信息文件內(nèi)容:

import nltk ? # 導(dǎo)入自然語言工具包

import nltk.book

file_path = open(‘D:/Python/嬰兒用品評(píng)論信息.csv’)

file_data = pd.read_csv(file_path)

(2)原始評(píng)論數(shù)據(jù)中有些是重復(fù)的,比如“此用戶沒有填寫評(píng)論!”,需要進(jìn)行去重復(fù)處理。去掉重復(fù)評(píng)論剩余1086條數(shù)據(jù)。去除重復(fù)評(píng)論代碼為:

file_data = file_data.drop_duplicates()

(3)為了方便后期分別對(duì)評(píng)論內(nèi)容進(jìn)行詞頻統(tǒng)計(jì),對(duì)商品的類型評(píng)論條數(shù)進(jìn)行展示,將文檔分解成評(píng)論內(nèi)容和產(chǎn)品類型兩個(gè)csv文件。

3 ?嬰兒用品數(shù)據(jù)分析及可視化

(1)對(duì)文本內(nèi)容的評(píng)論分析需要導(dǎo)入Python中的自然語言工具包ntlk,利用jieba庫進(jìn)行中文分詞。導(dǎo)入代碼為:

import jieba#導(dǎo)入jieba庫

from nltk.book import *

cut_words = jieba.lcut(str(file_data[‘評(píng)論’].values),cut_all=False)

(2)加載停用詞列表,對(duì)中文分詞去除停用詞,比如評(píng)論中的“你”“他”“的”“地”“得”等詞語,刪除停用詞后,從輸出的結(jié)果中可以大致看出評(píng)價(jià)的特征信息,不過后期還需要統(tǒng)計(jì)詞語出現(xiàn)的次數(shù),才能進(jìn)一步知曉用戶對(duì)該款嬰兒用品的喜惡。部分代碼為:

with open(‘D:/Python/停用詞表.txt’,encoding=’ utf-8’) as f:

stop_words = f.read()

new_data = []

for word in cut_words:

if word not in stop_words:

new_data.append(word)

(3)詞頻統(tǒng)計(jì)和產(chǎn)品分類評(píng)價(jià)統(tǒng)計(jì)。部分代碼如下:

import matplotlib.pyplot as plt ?# 導(dǎo)入模塊

import numpy as np

%matplotlib inline

%config InlineBackend.figure_format = ‘svg’

freq_list = FreqDist(new_data)

most_common_words = freq_list.most_common()

most_common_words

plt.figure(“分類統(tǒng)計(jì)”,figsize=(10,7))

plt.rcParams[‘font.sans-serif’] = [‘SimHei’]

plt.rcParams[‘a(chǎn)xes.unicode_minus’] = False

new_x = np.linspace(0,9,12)

plt.xticks(new_x)

plt.ylim(0,30)

movie_name = [‘十字嘴’,’丫字嘴’,’粉色’,’藍(lán)色’,’250ml+150ml大小套’,’250ml’,’150ml’,’含重力球’,’不含重力球’]

y = [11.92,12.97,13.42,12.07,3.45,19.96,1.48,20.14,4.58]

plt.xticks(range(0,9),movie_name,)

plt.xticks(rotation=45)

index = np.arange(9)

plt.bar(index,y,0.5,color=[“r”,”g”,”b”],align=”center”)

通過調(diào)用nltk庫中的FreqDist類,對(duì)評(píng)論內(nèi)容中每個(gè)詞語出現(xiàn)的次數(shù)進(jìn)行詞頻統(tǒng)計(jì),再把主要詞語的次數(shù)以柱狀圖展示出來。同時(shí),對(duì)評(píng)論數(shù)據(jù)中類型字段進(jìn)行分類統(tǒng)計(jì),如十字嘴和丫字嘴的類型評(píng)論次數(shù)相差不大,但是,有重力球和不含重力球、250 ml和150 ml的商品類型評(píng)論次數(shù)相差明顯。詞頻統(tǒng)計(jì)柱狀圖和商品分類評(píng)價(jià)百分比柱狀圖如圖4、圖5所示。

(4)制作詞云圖。根據(jù)上一步中用戶評(píng)價(jià)的特征信息,使用wordcloud模塊進(jìn)行詞云展示。將出現(xiàn)頻率高的評(píng)價(jià)詞匯進(jìn)行放大顯示,頻率較低的詞語縮小顯示。代碼為:

from wordcloud import WordCloud

from matplotlib import pyplot as plt

wc=WordCloud(font_path=’D:/simhei.ttf’,background_color=’white’,width=1000,height = 800).generate(“ “.join(new_data))

plt.imshow(wc)

plt.axis(“off”)

plt.show()

從詞云圖中可以直觀地看出,“寶寶”“質(zhì)量”“喝”“牌子”和“不錯(cuò)”等詞語最為突出,表明用戶對(duì)該款嬰兒用品的質(zhì)量和品牌總體感覺不錯(cuò),以寶寶是否愛喝作為重要的評(píng)判點(diǎn)。運(yùn)行得到的詞云圖如圖6所示。

4 ?結(jié) ?論

首先,通過本文研究發(fā)現(xiàn):該款嬰兒用品銷售量,在不同的產(chǎn)品參數(shù)方面有所不同,用戶對(duì)寶寶是否愛喝、商品質(zhì)量、是否有重力球和品牌等方面有較強(qiáng)的體驗(yàn)感。合理運(yùn)用Python在Anaconda環(huán)境下的科學(xué)計(jì)算庫、文本分析庫以及數(shù)據(jù)可視化等庫,可以高效便捷地完成簡單數(shù)據(jù)的采集,并且對(duì)原始數(shù)據(jù)進(jìn)行預(yù)處理和可視化展示,對(duì)嬰兒用品商家提供銷售數(shù)據(jù)支持,也從側(cè)面反映二胎、三胎政策影響下的嬰兒用品需求變化。

然后,為了完善嬰兒用品詞匯資源庫,后續(xù)研究尚需要對(duì)其他商品的評(píng)論數(shù)據(jù)進(jìn)行補(bǔ)充,對(duì)評(píng)論內(nèi)容的文本情感分析和相似度分析進(jìn)行思考和探索。

參考文獻(xiàn):

[1] 呂云翔,李伊琳,王肇一,等.Python數(shù)據(jù)分析實(shí)戰(zhàn) [M].北京:清華大學(xué)出版社,2018.

[2] 陳紅波,劉順祥.數(shù)據(jù)分析從入門到進(jìn)階 [M].北京:機(jī)械工業(yè)出版社,2019.

[3] 李培.基于Python的網(wǎng)絡(luò)爬蟲與反爬蟲技術(shù)研究 [J].計(jì)算機(jī)與數(shù)字工程,2019,47(6):1415-1420+1496.

[4] 章蓬偉,賈鈺峰,邵小青,等.基于文本情感分析的電商產(chǎn)品評(píng)論數(shù)據(jù)研究 [J].微處理機(jī),2020,41(6):58-62.

[5] 聶晶.Python在大數(shù)據(jù)挖掘和分析中的應(yīng)用優(yōu)勢(shì) [J].廣西民族大學(xué)學(xué)報(bào)(自然科學(xué)版),2018,24(1):76-79.

[6] 鄭晶晶.融入Python應(yīng)用的學(xué)生考勤數(shù)據(jù)管理分析 [J].數(shù)字技術(shù)與應(yīng)用,2021,39(2):83-84+89.

[7] 郝海妍,潘萍.Python技術(shù)在數(shù)據(jù)分析中的應(yīng)用 [J].電子技術(shù)與軟件工程,2020(12):179-181.

作者簡介:謝美英(1984—),女,漢族,湖南漣源人,講師,碩士研究生,研究方向:軟件技術(shù)、數(shù)據(jù)挖掘。

猜你喜歡
數(shù)據(jù)可視化數(shù)據(jù)采集數(shù)據(jù)分析
大數(shù)據(jù)時(shí)代背景下本科教學(xué)質(zhì)量動(dòng)態(tài)監(jiān)控系統(tǒng)的構(gòu)建
可視化:新媒體語境下的數(shù)據(jù)、敘事與設(shè)計(jì)研究
我國數(shù)據(jù)新聞的發(fā)展困境與策略研究
科技傳播(2016年19期)2016-12-27 14:53:29
基于R語言的大數(shù)據(jù)審計(jì)方法研究
鐵路客流時(shí)空分布研究綜述
基于廣播模式的數(shù)據(jù)實(shí)時(shí)采集與處理系統(tǒng)
軟件工程(2016年8期)2016-10-25 15:54:18
通用Web表單數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
軟件工程(2016年8期)2016-10-25 15:52:53
Excel電子表格在財(cái)務(wù)日常工作中的應(yīng)用
淺析大數(shù)據(jù)時(shí)代背景下的市場(chǎng)營銷策略
新常態(tài)下集團(tuán)公司內(nèi)部審計(jì)工作研究
涿鹿县| 成安县| 临澧县| 巩留县| 青铜峡市| 建德市| 扎兰屯市| 武平县| 台州市| 航空| 桑植县| 安国市| 奉节县| 平原县| 塔城市| 中西区| 金湖县| 祁东县| 咸阳市| 博乐市| 城口县| 佛山市| 镇安县| 扎囊县| 芦溪县| 静海县| 淳化县| 阜南县| 阜新市| 阜城县| 团风县| 玉环县| 肃北| 北碚区| 游戏| 乐业县| 高要市| 裕民县| 新河县| 阿合奇县| 陈巴尔虎旗|