Python程序設(shè)計教程(工作手冊式) 課件 情景七 Python與電子商務(wù)_第1頁
Python程序設(shè)計教程(工作手冊式) 課件 情景七 Python與電子商務(wù)_第2頁
Python程序設(shè)計教程(工作手冊式) 課件 情景七 Python與電子商務(wù)_第3頁
Python程序設(shè)計教程(工作手冊式) 課件 情景七 Python與電子商務(wù)_第4頁
Python程序設(shè)計教程(工作手冊式) 課件 情景七 Python與電子商務(wù)_第5頁
已閱讀5頁,還剩41頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

Python程序設(shè)計教程

(工作手冊式)情景七Python與電子商務(wù)任務(wù)mission12電子商務(wù)爬蟲電子商務(wù)數(shù)據(jù)分析任務(wù)一Python之電子商務(wù)爬蟲一.爬蟲基礎(chǔ)什么是爬蟲?爬蟲可以幫助我們把網(wǎng)站上的信息快速提取并保存下來。能爬取哪些數(shù)據(jù)?在網(wǎng)頁中我們能看到各種各樣的信息,最常見的便是常規(guī)網(wǎng)頁,它們對應(yīng)著HTML代碼,而最常抓取的便是HTML源代碼。一.爬蟲基礎(chǔ)1.爬蟲流程1)獲取網(wǎng)頁爬蟲首先要做的工作就是獲取網(wǎng)頁,這里就是獲取網(wǎng)頁的源代碼2)提取信息獲取網(wǎng)頁的源代碼后,接下來就是分析網(wǎng)頁的源代碼,從中提取我們想要的數(shù)據(jù)。3)保存數(shù)據(jù)提取信息后,我們一般會將提取到的數(shù)據(jù)保存到某處以便后續(xù)使用。4)自動化程序爬蟲可以代替人來完成這些操作。一.爬蟲基礎(chǔ)2.urllib模塊

打開和讀取URL

解析URL

解析robots.txt文件

包含urllib.request拋出異常一.爬蟲基礎(chǔ)讀取重慶城市職業(yè)學(xué)院主頁html源碼fromurllib.requestimporturlopenmyURL=urlopen("/")print(myURL.read().decode('utf-8'))一.爬蟲基礎(chǔ)使用request讀取重慶城市職業(yè)學(xué)院主頁html代碼importurllib.requestrequest=urllib.request.Request('/')response=urllib.request.urlopen(request)print(response.read().decode('utf-8'))一.爬蟲基礎(chǔ)3.異常處理urllib的error模塊定義了由request模塊產(chǎn)生的異常。如果出現(xiàn)了問題,request模塊便會拋出error模塊中定義的異常?!緦嵗坑脺y試網(wǎng)站捕獲異常importsocketimporturllib.requestimporturllib.error

try:response=urllib.request.urlopen('/get',timeout=0.1)excepturllib.error.URLErrorase:ifisinstance(e.reason,socket.timeout):print('TIMEOUT')一.爬蟲基礎(chǔ)4.分析robots協(xié)議利用urllib的robotparser模塊,可以實現(xiàn)網(wǎng)站Robots協(xié)議的分析。Robots協(xié)議也稱作爬蟲協(xié)議、機器人協(xié)議,它的全名叫作網(wǎng)絡(luò)爬蟲排除標(biāo)準(zhǔn)(RobotsExclusionProtocol),用來告訴爬蟲和搜索引擎哪些頁面可以抓取,哪些不可以抓取。一個robots.txt的樣例:User-agent:*Disallow:/Allow:/public/二.爬取電子商務(wù)數(shù)據(jù)項目要求:爬取京東商城中“筆記本電腦”的數(shù)據(jù),并把內(nèi)容存儲到excel表格之中。1.安裝第三方庫1)安裝爬蟲庫PipinstallrequestsPipinstallselectorsPipinstalllxml2)安裝excel文件庫Pipinstallopenpyxl二.爬取電子商務(wù)數(shù)據(jù)二.爬取電子商務(wù)數(shù)據(jù)2.分析網(wǎng)頁結(jié)構(gòu)1)查看網(wǎng)頁在googlechrome瀏覽器中輸入:。注意:1.建議使用google瀏覽器。2.復(fù)制網(wǎng)頁時建議分2次取再拼接。如下2個連接都是相同的:/search?keyword=%E7%AC%94%E8%AE%B0%E6%9C%AC&suggest=1.his.0.0&wq=%E7%AC%94%E8%AE%B0%E6%9C%AC&ev=exbrand_%E8%81%94%E6%83%B3%EF%BC%88lenovo%EF%BC%89%5E/search?keyword=筆記本&suggest=1.his.0.0&wq=筆記本&ev=exbrand_聯(lián)想(lenovo)%5E二.爬取電子商務(wù)數(shù)據(jù)2.分析網(wǎng)頁標(biāo)簽在瀏覽器中,按F12功能鍵點擊商品標(biāo)簽,看右邊代碼的變化。可以看到在class標(biāo)簽id=J_goodsList里ul標(biāo)簽下的li標(biāo)簽,對應(yīng)著所有商品列表二.爬取電子商務(wù)數(shù)據(jù)3.爬取數(shù)據(jù)url=/search?keyword=筆記本&wq=筆記本&ev=exbrand_聯(lián)想%5E&page=9&s=241&click=1headers={'User-Agent':'Mozilla/5.0(WindowsNT6.1;WOW64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/86.0.4240.198Safari/537.36'}res=requests.get(url,headers=headers)res.encoding='utf-8'text=res.textselector=etree.HTML(text)list=selector.xpath('//*[@id="J_goodsList"]/ul/li')foriinlist:title=i.xpath('.//div[@class="p-namep-name-type-2"]/a/em/text()')[0]……print("product_id="+str(product_id))print("")二.爬取電子商務(wù)數(shù)據(jù)4.獲取評論數(shù)據(jù)在F12對應(yīng)的界面中,轉(zhuǎn)到network頁,找到以“productCommentSummaries.action”開頭的項目,把對應(yīng)的URL地址取出并放到瀏覽器中執(zhí)行,得到的頁面就是所有商品ID以及對應(yīng)的評論數(shù)據(jù)。二.爬取電子商務(wù)數(shù)據(jù)4.獲取評論數(shù)據(jù)在F12對應(yīng)的界面中,轉(zhuǎn)到network頁,找到以“productCommentSummaries.action”開頭的項目,把對應(yīng)的URL地址取出并放到瀏覽器中執(zhí)行,得到的頁面就是所有商品ID以及對應(yīng)的評論數(shù)據(jù)。二.爬取電子商務(wù)數(shù)據(jù)4.獲取評論數(shù)據(jù)創(chuàng)建函數(shù)讀取數(shù)據(jù)defcommentcount(product_id):url1=“/comment/productCommentSummaries.action?referenceIds=”+str(rpoduct_id)+”&callback=jQuery5358031&_=1667631915528”res1=requests.get(url1,headers=headers)……returncomment_countforiinlist:title=i.xpath('.//div[@class="p-namep-name-type-2"]/a/em/text()')[0]……print("price="+str(price))print("comment_count="+str(comment_count))二.爬取電子商務(wù)數(shù)據(jù)5.保存數(shù)據(jù)到excl文件中importopenpyxloutwb=openpyxl.Workbook()outws=outwb.create_sheet(index=0)outws.cell(row=1,column=1,value="index")outws.cell(row=count,column=1,value=str(count-1))outws.cell(row=count,column=2,value=str(title))outws.cell(row=count,column=3,value=str(price))outws.cell(row=count,column=4,value=str(comment_count))count+=1outwb.save("jdgood.xls")三.任務(wù)一小結(jié)通過本次任務(wù)的學(xué)習(xí)和實踐,使我們熟悉了Python網(wǎng)絡(luò)爬蟲的基本模塊,能夠使用urllib與request配合抓取網(wǎng)頁內(nèi)容。在任務(wù)實施中,增加了xpath與openpyxl的內(nèi)容,以便于更好的分析與爬取數(shù)據(jù),并把數(shù)據(jù)保存到本地文件之中。要爬取網(wǎng)頁的數(shù)據(jù),就要對網(wǎng)頁的基本結(jié)構(gòu)有所了解,同時要會使用googlechrome的F12功能,把我們需要的內(nèi)容映射到不同的div之中。同學(xué)們要強化個人信息自我保護意識,在生活、學(xué)習(xí)中養(yǎng)成保護個人信息的習(xí)慣。要遵守網(wǎng)站的robots協(xié)議,不爬取敏感信息,在網(wǎng)站中獲取的數(shù)據(jù),只用于學(xué)習(xí)不做他途。當(dāng)要做數(shù)據(jù)交換時,要及時的對數(shù)據(jù)進(jìn)行脫敏操作,嚴(yán)禁不脫敏就向網(wǎng)絡(luò)發(fā)送傳播原始信息任務(wù)二電子商務(wù)數(shù)據(jù)分析一.電子商務(wù)數(shù)據(jù)分析基礎(chǔ)

商務(wù)數(shù)據(jù)分析的目的是要洞察數(shù)據(jù)后面的規(guī)律。通過這些規(guī)律,企業(yè)可以制定相應(yīng)的措施與決策,從而過到預(yù)想的結(jié)果,這也是商務(wù)數(shù)據(jù)分析的最大價值。

在商務(wù)數(shù)據(jù)分析過程中,要先對數(shù)據(jù)進(jìn)行相應(yīng)的處理加工,才可以使用描述性統(tǒng)計分析方法、探索性數(shù)據(jù)分析方法等技術(shù)手段對數(shù)據(jù)進(jìn)行深加工,得到我們的預(yù)期一.電子商務(wù)數(shù)據(jù)分析基礎(chǔ)1.數(shù)據(jù)預(yù)處理1)數(shù)據(jù)清洗缺失值處理異常值處理重復(fù)值處理一.電子商務(wù)數(shù)據(jù)分析基礎(chǔ)實例:缺失值處理--用固定值填充一.電子商務(wù)數(shù)據(jù)分析基礎(chǔ)實例異常值處理箱線圖一.電子商務(wù)數(shù)據(jù)分析基礎(chǔ)實例重復(fù)值處理一般使用drop_duplicates()方法一.電子商務(wù)數(shù)據(jù)分析基礎(chǔ)2)數(shù)據(jù)標(biāo)準(zhǔn)化離差標(biāo)準(zhǔn)化離差標(biāo)準(zhǔn)化也叫Min-Max規(guī)范化標(biāo)準(zhǔn)差標(biāo)準(zhǔn)化標(biāo)準(zhǔn)差標(biāo)準(zhǔn)化也叫Z-score規(guī)范化一.電子商務(wù)數(shù)據(jù)分析基礎(chǔ)2.統(tǒng)計術(shù)語數(shù)據(jù)類型截面數(shù)據(jù):對多個個體在相同或近似相同的同一時間節(jié)點上搜集的數(shù)據(jù)時間序列數(shù)據(jù):某個個體在一段時間內(nèi)搜集到的數(shù)據(jù)集面板數(shù)據(jù):既有截面維度又有時間維度的混合數(shù)據(jù)集,可分為平衡面板數(shù)據(jù)、非平衡面板數(shù)據(jù)數(shù)據(jù)的位置度量平均數(shù),中位數(shù),眾數(shù)。一.電子商務(wù)數(shù)據(jù)分析基礎(chǔ)3.探索性數(shù)據(jù)分析統(tǒng)計檢驗卡方檢驗一.電子商務(wù)數(shù)據(jù)分析基礎(chǔ)3.探索性數(shù)據(jù)分析獨立分布t檢驗方差檢驗一.電子商務(wù)數(shù)據(jù)分析基礎(chǔ)3.探索性數(shù)據(jù)分析Q-Q圖一.電子商務(wù)數(shù)據(jù)分析基礎(chǔ)3.探索性數(shù)據(jù)分析相關(guān)系數(shù)二.數(shù)據(jù)分析案例:根據(jù)已有數(shù)據(jù)對店鋪整體運營情況進(jìn)行分析,了解運營狀況,對未來進(jìn)行預(yù)測,已經(jīng)成為電商運營必不可少的技能。任務(wù)對一家全球超市4年(2011~2014年)的零售數(shù)據(jù)進(jìn)行數(shù)據(jù)分析,實現(xiàn)①分析每年銷售額增長率;②各個地區(qū)分店的銷售額;③銷售淡旺季;④新老客戶數(shù);⑤RFM模型標(biāo)記用戶價值。二.數(shù)據(jù)分析1.數(shù)據(jù)準(zhǔn)備數(shù)據(jù)來源于數(shù)據(jù)科學(xué)競賽平臺Kaggle,網(wǎng)址為/jr2ngb/superstore-data,總共51290條數(shù)據(jù),24個字段。二.數(shù)據(jù)分析2.數(shù)據(jù)清洗與整理1)查看是否含有缺失值通過info函數(shù)了解到在數(shù)據(jù)集中的只有PostalCode字段含有缺失值(只有9994個)。判斷每個字段(any()方法)中的數(shù)據(jù)是否含有缺失值(isna()方法),如圖7-37所示。data.isna().any()2)查看是否有異常值在查看數(shù)據(jù)的缺失值之后還需要檢查一下數(shù)據(jù)中是否含有異常值,Pandas的describe()可以用來統(tǒng)計數(shù)據(jù)集的集中趨勢,如圖7-38所示,分析各行列的分布情況,因此在查看異常值時會經(jīng)常用到。data.describe()3)數(shù)據(jù)整理由于很多分析的維度都是建立在時間基礎(chǔ)上的,通過數(shù)據(jù)類型的結(jié)果發(fā)現(xiàn)數(shù)據(jù)中的時間是字符串類型的,所以需要處理時間的類型,將其修改成datetime類型。二.數(shù)據(jù)分析3.商務(wù)數(shù)據(jù)分析目標(biāo)1)每年銷售額的增長率銷售增長率是企業(yè)本年銷售收入增長額同上年銷售收入總額之比。2)分店銷售額及對比對比不同分店的銷售額,用于對不同地區(qū)分配下一年度的銷售額指標(biāo),或者采取不同的營銷策略。3)用戶價值度RFM模型RFM模型,R(Recency):客戶最近一次交易時間的間隔。R值越大,表示客戶交易發(fā)生的日期越久,反之則表示客戶交易發(fā)生的日期越近。F(Frequency):值越大,表示客戶交易越頻繁,反之則表示客戶交易不夠活躍。M(Monetary):客戶在最近一段時間內(nèi)交易的金額。M值越大,表示客戶價值越高,反之則表示客戶價值越低。RFM模型是衡量客戶價值和用戶創(chuàng)利能力的經(jīng)典工具,依托于客戶最近一次購買時間、消費頻次及消費金額。應(yīng)用RFM模型時,要有客戶基礎(chǔ)的交易數(shù)據(jù),至少包含客戶號、交易金額和交易時間3個字段。二.數(shù)據(jù)分析4.RFM模型分析過程步驟1:統(tǒng)計全年的數(shù)據(jù)。data_2014=data[data[‘Order-year’]==2014]data_2014=data[[‘CustomerID’,’OrderDate’,’Sales’]]二.數(shù)據(jù)分析4.RFM模型分析過程步驟2:對數(shù)據(jù)分組deforder_sort(group):returngroup.sort_values(by=’OrderDate’)[-1:]data_2014_group=data_2014.groupby(by=’CustomerID’,as_index=False)data_max_time=data_2014_group.apply(order_sort)二.數(shù)據(jù)分析4.RFM模型分析過程步驟3:計算F,M值data_max_time[‘F’]=data_2014_group.size().valuesdata_max_time[‘M’]=data_2014_group.sum()[‘Sales’].values二.數(shù)據(jù)分析4.RFM模型分析過程計算R值

根據(jù)需要假定時間計算2014年12月31日,最近一次交易時間的間隔。注意,由于是歷史數(shù)據(jù),計算的時候時間跨度不要太大。stat_date=pd.to_datetime(‘2014-12-31)r_data=stat_date–data_max_time[‘OrderDate’]data_max_time[‘R’]=r_data.values二.數(shù)據(jù)分析4.RFM模型分析過程步驟5:設(shè)定評分區(qū)間給定F的區(qū)間為[0,5,10,15,20,50],采用5分制的評分規(guī)則與分值區(qū)間一一對應(yīng),區(qū)間1~5對應(yīng)的為1、區(qū)間5~10對應(yīng)的為2,依此類推。importdatetime#后面要對時間進(jìn)行處理,引入模塊Section_List_F=[0,5,10,15,20,50]Grade_F=pd.cut(data_max_time[‘F’],bins=Section_List_F,labels=[1,2,3,4,5])data_max_time[‘F_S’]=Grade_F.values二.數(shù)據(jù)分析4.RFM模型分析過程給定M的區(qū)間為[0,500,1000,5000,10000,30000],采用5分制的評分規(guī)則與上面分值區(qū)間一一對應(yīng)。給定R的區(qū)間為[-1,32,93,186,277,365],只是R所對應(yīng)的評分順序與F和M的相反。Section_List_M=[0,500,1000,5000,10000,30000]Grade_M=pd.cu

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論