




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
湖南商務職業技術學院畢業設計
目錄
1引言............................................................................................................................1
1.1項目背景......................................................................................................1
1.2開發環境與工具..........................................................................................1
1.2.1Python簡介..........................................................................................1
1.2.2Selenium簡介......................................................................................2
1.2.3Jypyternotebook簡介......................................................................2
1.2.4MicrosoftExcel簡介........................................................................2
2需求分析....................................................................................................................2
2.1可行性需求分析..........................................................................................2
2.2關鍵技術分析..............................................................................................3
2.2.1動態網絡爬蟲技術...............................................................................3
2.2.2文件存取技術.......................................................................................3
2.2.3數據可視化技術...................................................................................3
3數據采集....................................................................................................................3
3.1采集頁面分析..............................................................................................3
3.2爬蟲分析......................................................................................................4
3.3目標字段分析..............................................................................................6
3.4數據存儲......................................................................................................7
4數據清洗與處理........................................................................................................9
4.1數據清洗需求分析......................................................................................9
4.2數據儲存進Excel.....................................................................................10
5數據分析與可視化..................................................................................................10
5.1數據分析....................................................................................................10
5.1.1統計各個價格段商品數量.................................................................10
5.1.2統計各個價格段商品評論數量.........................................................11
5.1.3統計每個店鋪的評論數并取評論數最多的前十店鋪.....................11
5.2數據可視化................................................................................................12
I
湖南商務職業技術學院畢業設計
5.2.1根據商品標題繪制關鍵詞詞云圖.....................................................12
5.2.2根據店鋪銷量繪制銷量條形圖.........................................................14
5.2.3繪制各個價格段手機銷量占比圖.....................................................15
5.2.4統計銷量前十的手機商品.................................................................16
5.3可視化分析....................................................................................................17
6總結..........................................................................................................................18
參考資料.........................................................................................................................19
II
湖南商務職業技術學院畢業設計
京東手機商品數據采集與分析
1引言
隨著大數據時代的到來,每時每刻都有非常龐大的數據量產生,海量數據
的分析成了重點與難點,誰掌握了數據,誰就掌握了主動權。使用大數據技術
進行數據分析的時代發展的必然趨勢,大數據技術挖掘與分析借助計算機來對
大量的信息進行獲取、剔除無用數據、并將有用的數據進行聯系整合計算與分
析總結。數據分析能夠對各行各業的數據進行預測,了解市場動態變化,從而
制定更加完善的策略,提升策略的成功率。
手機作為當代無論是年輕人還是老年人都人手必備的一樣東西,幾乎成為
了絕大多數人的生活必備品。通過對大眾消費者購買需求,偏好的分析,就可
以更好的把握住消費者的心理,從而達到更加精準的營銷。
1.1項目背景
信息時代,許多人都以網絡平臺作為交易的渠道,買賣雙方不需見面交流
就能完成交易。這個方式操作簡單并且效率高,既節省雙方時間,又不會被空
間所約束,加快了我國經濟全球化的步伐。
當今社會,幾乎人手一臺或者多臺手機,手機的利潤可想而知,而我們需
要更加了解消費者對手機市場選擇的需求,就需要我們對多數人的偏好進行分
析。本項目就是通過采集電商網站京東上的手機數據,根據這些數據可以獲取
消費者的消費心理、行為等數據,獲取有價值的信息,從而讓商家更加了解消
費者的消費偏重,為市場精準化營銷奠定了基礎,保證消費者能享受到多元化
服務。
1.2開發環境與工具
1.2.1Python簡介
Python是由荷蘭數學和計算機科學研究學會的GuidovanRossum于1990
年代初所設計。Python的優點主要有:簡單易學;速度較快,python的底層語
言是C語言;免費開源;python提供了高效的高級數據結構,還能簡單而有效
的面向對象編程;可擴展性和可擴充性,它提供了豐富的API和工具,python
語言也被稱之為“膠水語言“;豐富的庫等。但相較于C和C++相比,它的運
1
湖南商務職業技術學院畢業設計
行速度相對較慢。
python的設計目標之一是讓代碼具備高度的可閱讀性,代碼看起來整潔美
觀,不需要像pascal那樣需要重復書寫聲明語句,語法規范,清晰。
1.2.2Selenium簡介
Selenium是基于Web應用程序并且支持瀏覽器驅動的開源自動化測試框架,
可以模擬真實用戶輸入網址、滾動鼠標、點擊等動態操作。所支持的瀏覽器有
IE,MozillaFirefox,Safari,GoogleChrome,Edge等等,支持Python、Java、C#
主流編程語言二次開發。它的主要功能如下。
測試與瀏覽器的兼容性,測試應用程序能否很好的在不同的瀏覽器和操作
系統中工作。測試系統功能,創建回歸測試檢驗軟件功能和用戶需求。
1.2.3Jypyternotebook簡介
JupyterNotebook是利用瀏覽器遠程訪問方式進行編程的一個交互式應用平
臺,支持Python、R、Julia、C等40多種編程語言,可以通過網頁訪問Jupyter
Notebook平臺,創建支持實時代碼和數學公式的程序文檔,在網頁中進行編寫
與運行,并直接將結果展示在網頁里。它的本質是一個Web應用程序,能夠創
建和共享程序文檔,支持實時代碼,數學方程,可視化和markdown。用途有:
數據清洗和轉換,數值模擬,統計建模,機器學習。
1.2.4MicrosoftExcel簡介
MicrosoftExcel是微軟公司1982年推出的一款電子制表軟件。由于它直觀
的頁面、出色的計算功能和圖表工具,以及成功的市場營銷,Excel成為最流行
的個人計算機數據處理軟件。1993年,Excel就開始成為所適用操作平臺上的電
子制表軟件的第一,直到現在它依舊被人們廣泛使用。
2需求分析
2.1可行性需求分析
由于京東電商網站是一個動態網頁,所以我選擇使用selenium進行模擬真
實用戶搜索并進行爬取。下載相關瀏覽器驅動,對目標網址發起get請求,使用
By庫解析并獲取頁面中的相關數據,存儲為json格式的文件。將采集的數據進
行處理并存入excel表格中,使用jupyternotebook對excel中的數據進行分析,
2
湖南商務職業技術學院畢業設計
將分析結果使用pythonmatplotlib,pyecharts進行可視化展示。
2.2關鍵技術分析
2.2.1動態網絡爬蟲技術
我們只需要安裝selenium以及相關瀏覽器驅動,導入需要使用的庫就可以
編寫相關爬取語句并進行批量爬取。
2.2.2文件存取技術
對爬取的數據存儲格式為json格式,json是一種輕量級的數據交換格式,
json易于閱讀和編寫,也易于機器解析和生成,可以有效地提升網絡傳輸效率。
清洗后的數據存入excel,然后進行讀取分析。
2.2.3數據可視化技術
數據可視化時數據處理的一項關鍵技術,它通過不同的圖形對數據進行展
示,我們可以通過這些圖形所提供的內容進行分析與應用。數據可視化就是把
數據與信息以圖形的形式更清晰有效的展現出來。
在本次項目中我們需要用到pyecharts、matplotlib兩個庫進行數據可視化展
示,繪制相關詞云圖,餅圖,條形圖等等。
3數據采集
3.1采集頁面分析
打開本次爬取的目標網站京東手機商品網頁
/Search?keyword=%E6%89%8B%E6%9C%BA&enc=utf-8&wq
=%E6%89%8B%E6%9C%BA&pvid=8a1d8447fc7a45eca0990957933be5c5,可以
在右上方看到總頁數為63,如圖3-1。
3
湖南商務職業技術學院畢業設計
圖3-1京東手機商品頁面
打開開發工具,點擊網絡面板再次刷新頁面,查看標頭可以看到頁面的請
求方法為get方法,如圖3-2。
圖3-2請求方法頁面
3.2爬蟲分析
由于目標網站是一個含有多張頁面的一個動態網頁,所以我選擇使用web
自動化測試工具selenium模擬用戶來進行頁面的逐個點擊爬取。首先我們要先
安裝瀏覽器驅動,Chrome瀏覽器的驅動下載頁面
/index.html,需要根據瀏覽器的版本下
4
湖南商務職業技術學院畢業設計
載對應驅動,如圖3-3,圖3-4。
圖3-3瀏覽器版本
圖3-4驅動版本
導入相關庫(圖3-5),定義一個使用selenium訪問京東手機商品頁面的方
法(圖3-6),打開京東頁面后定位搜索框輸入”手機”,等待幾秒后單擊銷量降
序排序,調用爬取商品數據方法。
圖3-5seleuimu爬取使用相關庫
5
湖南商務職業技術學院畢業設計
圖3-6訪問頁面方法
3.3目標字段分析
根據需求需要爬取的字段有:商品名稱、店鋪、價格、評論數。打開開發
工具,元素面板選中商品后我們可以看到每一個商品的類名都是gl-item。
點擊定位到商品名稱標簽,可以看到商品名稱字段在em標簽中(圖3-7),
根據一樣的方法找到店鋪、價格、評論數所在標簽。
圖3-7商品名稱標簽
定義一個商品數據爬取方法(圖3-8),使用selenium的
find_elements(By.CLASS_NAME,'gl-item')獲取50頁全部商品的數據,通過for循
環遍歷后從中提取每一條數據。使用BY.CSS_SELETOR,XPATH方法進行爬取。
6
湖南商務職業技術學院畢業設計
圖3-8數據爬取方法
爬取頁面數為50頁,所以需要每爬完一頁后點擊下一頁按鈕。
圖3-9下一頁
3.4數據存儲
每提取出一件商品的數據后,先將它存入字典,以字典的格式存入json文
件。
圖3-10數據存儲
代碼實現如下。
fromseleniumimportwebdriver
7
湖南商務職業技術學院畢業設計
frommon.byimportBy
frommon.keysimportKeys
importtime
importjson
#訪問京東頁面
defspider(url,keyword):
driver=webdriver.Chrome()
driver.get(url)
input=driver.find_element(By.ID,'key')#定位搜索框
input.clear()
input.send_keys(keyword,Keys.ENTER)#輸入手機
time.sleep(5)#強制等待3s
num=driver.find_element(By.XPATH,'//*[@id="J_filter"]/div[1]/div[1]/a[2]')
num.click()#單擊銷量降序
time.sleep(3)
get_goods(driver)#抓取商品數據d
#抓取商品數據
defget_goods(driver):
withopen("phone.json",'a+',encoding='utf-8')asf:
f.write('[')
#通過類名獲取對象
forxinrange(50):
lis=driver.find_elements(By.CLASS_NAME,'gl-item')
time.sleep(3)
foriinlis:
title=i.find_element(By.CSS_SELECTOR,'.p-nameem').text.replace('\n','')#商品
名稱
price=i.find_element(By.CSS_SELECTOR,'.p-pricei').text#價格
volume=i.find_element(By.CSS_SELECTOR,'.p-commita:last-child').text#
評論數量
#由于店鋪有空值寫入異常拋出語句程序繼續運行
try:
shop=i.find_element(By.XPATH,'./div[1]/div[7]/span/a').text#店鋪
except:
pass
#存儲為字典
data={'商品名稱':title,'店鋪':shop,'價格':price,'評論數':volume}
#將字典存入json文件
new_data=json.dumps(data,ensure_ascii=False,indent=4)
withopen('phone.json','a+',encoding='utf-8')asf:
f.write(new_data+',')
8
湖南商務職業技術學院畢業設計
time.sleep(5)
#獲取多頁數據
t=driver.find_element(By.PARTIAL_LINK_TEXT,'下一頁')
t.click()
time.sleep(5)
print("---------------第",x+1,"頁-----------------")
withopen("phone.json",'a+',encoding='utf-8')asf:
f.write(']')
spider('',keyword='手機')
4數據清洗與處理
4.1數據清洗需求分析
從爬取下來的數據中可以看出商品標題中存在著一些多余的內容,比如方
括號以及一些換行符,商品價格的后綴.00對我們來說并沒有太大用,還會占據
更多的空間,所以我們選擇對無用數據進行去除,并將評論數數據中的“萬+”
去除加號后,將萬替換為對應的數值型字符。實現代碼如下。
importjson
importpandasaspd
lists=[]
#讀取文件
withopen("phone.json",'r',encoding='utf-8')asf:
data=json.load(f)
#print(len(data))#輸出數據條數
#處理數據
foriindata:
i['商品名稱']=i['商品名稱'].replace('【','').replace('】','').replace('/','')\
.replace('\\','').strip('愛心東東').strip('拍拍')#去除商品名稱中的無用字符
i['價格']=i['價格'].strip('.00')
pl=i['評論數'].replace('+','')#去除加號
if'萬'inpl:
pl1=pl.replace('萬','')#將萬替換成數值
pl1=int(pl1)*10000
i['評論數']=pl1
lists.append(i)
else:
i['評論數']=pl
lists.append(i)
9
湖南商務職業技術學院畢業設計
4.2數據儲存進Excel
數據存儲的方式有很多種,比如存入hive、mysql、json、csv等等。這里我
選擇將數據存入excel文件。實現代碼如下。
#將數據寫入excel
d=pd.DataFrame(lists)
print(len(d))
d.to_excel('phone.xlsx',index=False)
圖4-1數據存儲excel頁面
5數據分析與可視化
5.1數據分析
使用jupyternotebook導入相關庫,這里使用的是pandas,對爬取的數據進行
簡單的分析。開始進行分析前需要對整體數據進行讀取,以確保能夠成功讀取
數據。如圖
圖5-1數據讀取頁面
5.1.1統計各個價格段商品數量
通過自行定義商品價格區間來對各個價格段的商品數量進行求和,可以了
10
湖南商務職業技術學院畢業設計
解京東手機商品價格的大致趨勢。
圖5-2各個價格段商品數量數據
5.1.2統計各個價格段商品評論數量
商品評論數是交易數據的一種體現形式,自行定義商品價格區間,對各個
價格區間的商品評論數進行求和,通過消費者交易數據來甄別客戶的價值,以
此來滿足消費者不同的需求,制定不同的營銷策略來促成消費者達成交易。
圖5-3商品評論數量
5.1.3統計每個店鋪的評論數并取評論數最多的前十店鋪
通過對每個店鋪的評論數進行分類匯總,并取評論數排名前十的店鋪名稱。
對于店鋪銷量的分析可以看出消費者對于各個店鋪、品牌的選擇傾向,通過不
同客戶群體的選擇傾向推送客戶更感興趣的商品,針對不同的客戶制定不同的
廣告策略,從而促成交易。
11
湖南商務職業技術學院畢業設計
圖5-4銷量前十店鋪
5.2數據可視化
進行可視化展示前需要對所用的庫進行導入,如圖5-5。
圖5-5可視化相關庫
5.2.1根據商品標題繪制關鍵詞詞云圖
在商品標題中有許多的空格來隔開商品標題中的關鍵詞,將關鍵詞進行分
割,去重后統計關鍵詞出現的次數來繪制詞云圖可以看出手機類商品的銷售賣
點,相應代碼如下。
data=pd.read_excel("phone.xlsx")
name=data['商品名稱']
lis=[]
#分割關鍵詞存儲進列表
foriinname:
y=i.split('')
forxiny:
12
湖南商務職業技術學院畢業設計
lis.append(x)
#去重計算出現次數
k=[]
foriinset(lis):
x=lis.count(i)
k.append((i,x))
#取出現次數最多的前50位
list_t=sorted(k,key=lambdat:t[1],reverse=True)[0:50]
#畫詞云圖
defwordcloud()->WordCloud:
c=(
WordCloud()
.add('',k)
.set_global_opts(title_opts=opt.TitleOpts(title='京東手機商品名稱關鍵詞詞云'),
toolbox_opts=opt.ToolboxOpts())
)
returnc
wordcloud().render('ciyun.html')
可視化展示。
圖5-6京東手機商品名稱關鍵字
從圖5-6可以看出,京東手機商品名稱中最常出現的關鍵字是Pro、Apple、
iPhone、5G手機,從關鍵字出現次數我們可以判斷出現階段京東手機商品賣點
的主要趨勢,從而制定相應的運營策略。
13
湖南商務職業技術學院畢業設計
5.2.2根據店鋪銷量繪制銷量條形圖
評論數是商品銷量的表現,所以可以通過店鋪和評論數兩個字段來統計每
個店鋪的總銷量,取前十并繪制店鋪銷量統計條形圖。代碼如下。
data=pd.read_excel("phone.xlsx")
xls=data.groupby('店鋪')['評論數'].sum()
xl=xls.sort_values(ascending=False).head(10)
plt.bar(xl.index,xl,color='SteelBlue')
plt.xticks(rotation=90)
plt.subplots_adjust(bottom=0.4)
plt.xlabel('店鋪名稱')
plt.ylabel('銷量')
plt.ylim(400000,8000000)
forx,yinenumerate(xl):
plt.text(x,y+10,'%s'%round(y,1),ha='center')
plt.title('各店鋪銷量排行前10統計圖')
plt.show()
可視化展示。
圖5-7商品銷量前十店鋪統計圖
14
湖南商務職業技術學院畢業設計
從圖5-7可以看出京東手機銷量前十店鋪名稱與銷量數據,Apple產品京東
自營旗艦店的銷量最高,銷量700萬+,其次是小米京東自營旗艦店,銷量400
萬+。通過統計各店鋪的銷量數據,可以判斷消費者對于不同店鋪、品牌的選擇
傾向。
5.2.3繪制各個價格段手機銷量占比圖
通過評論數和手機的價格分段區間,可以看出消費者對于手機價格傾向,
從而根據消費者的購買能力來推送不同的商品。代碼如下。
data=pd.read_excel("phone.xlsx")
#添加價格分區一列
bins=[500,2500,5000,7500,10000,30000]
data['價格分區']=pd.cut(x=data.價格,bins=bins,retbins=False,right=True)
jg=data.groupby('價格分區')['評論數'].sum()
plt.pie(jg,labels=jg.index,autopct='%10.1f%%')
plt.title('各個價格段手機銷量比例餅圖')
plt.show()
可視化展示。
圖5-8手機銷量占比圖
通過圖5-8可以看出,價格段在500~2500選擇的消費者最多,占了43.4%,
15
湖南商務職業技術學院畢業設計
其次是選擇5000~7500價格區間的,所占比例32.7%。通過分析消費者對于手機
商品的選擇趨向,可以分析消費者的消費偏好與購買能力,從而進行精準推送,
提高消費者購買欲望。
5.2.4統計銷量前十的手機商品
根據評論數的數量可以統計出京東手機銷量前十的手機商品。代碼如下。
data=pd.read_excel("phone.xlsx")
sales=data.sort_values(by=['評論數'],ascending=False).head(10)
plt.bar(sales['商品名稱'],sales['評論數'])
plt.xlabel('商品名稱')
plt.ylabel('評論數')
plt.subplots_adjust(bottom=0.5)
plt.xticks(rotation=90,fontsize=5)
forx,yinenumerate(sales['評論數']):
plt.text(x,y+10,'%s'%round(y,1),ha='center')
plt.title('評論數前10商品排行')
plt.show()
可視化展示。
16
湖南商務職業技術學院畢業設計
圖5-9銷量前十手機商品名稱
通過圖5-9可以看出
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 云南施工建設建設合同
- 安置房工程合同書
- 技術入股協議合同
- 婚宴服務合同
- 代理記賬管理合同書
- 商鋪租賃經營合同書
- 建筑工程機械材料租賃合同
- 教師事業單位聘用合同
- 房屋維修合同協議書
- 整車協議合同
- Unit 3Keep Fit.教案2024-2025學年人教版(2024)七年級英語下冊
- 保障公路、公路附屬設施質量和安全的技術評價報告
- 2022年10月自考06779應用寫作學試題及答案
- 年產十萬噸丙烯腈生產工藝設計
- 人教版高中物理必修二全冊同步課時練習
- 城市社區管理中存在的問題及對策研究正文內容
- (完整)人教版 高一物理課后習題答案
- GB/Z 26337.1-2010供應鏈管理第1部分:綜述與基本原理
- 幼兒園繪本:《超級細菌王國》
- 污水處理及配套管網工程-項目管理機構配備情況
- 《2022年基礎教育省級教學成果獎申報書》
評論
0/150
提交評論