




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
requests庫技術(shù)應(yīng)用案例——動態(tài)數(shù)據(jù)和動態(tài)數(shù)據(jù)采集本章學(xué)習(xí)目標(biāo)分析業(yè)務(wù)網(wǎng)站A,B,C和D的網(wǎng)頁結(jié)構(gòu)和內(nèi)容使用requests庫編寫爬蟲代碼獲取指定的靜態(tài)和動態(tài)數(shù)據(jù)使用BeautifulSoup實現(xiàn)數(shù)據(jù)的解析使用pymysql庫和pandas實現(xiàn)數(shù)據(jù)的持久化4.3業(yè)務(wù)網(wǎng)站A靜態(tài)數(shù)據(jù)進(jìn)入網(wǎng)址:/notebook_index/subcate16_0_list_1_0_99_2_0_1.html
我們可以觀察到網(wǎng)頁主頁顯示的主要的內(nèi)容,有筆記本電腦型號、價格、配置、評價分?jǐn)?shù)等,本次任務(wù)案例,我們將要獲取該頁的所有筆記本電腦信息。圖4.3-1網(wǎng)址主頁
判斷此數(shù)據(jù)是靜態(tài)數(shù)據(jù)還是動態(tài)數(shù)據(jù)。如圖4.3-2所示,由此可知,我們想要獲取的內(nèi)容被標(biāo)簽直接包含在內(nèi),為靜態(tài)數(shù)據(jù),所以可以編寫爬蟲獲取網(wǎng)頁標(biāo)簽內(nèi)容即可圖4.3-2標(biāo)簽檢查數(shù)據(jù)類型天問一號成功登陸火星,對于靜態(tài)數(shù)據(jù)和動態(tài)數(shù)據(jù)整體把控和分析要求極高。充分體現(xiàn)勞模精神:勞模精神,是指“愛崗敬業(yè)、爭創(chuàng)一流、艱苦奮斗、勇于創(chuàng)新、淡泊名利、甘于奉獻(xiàn)”的勞動模范的精神。網(wǎng)頁分頁爬取的翻頁操作實現(xiàn)對保存網(wǎng)頁的變量complete_url進(jìn)行操作,設(shè)置首先觀察網(wǎng)頁,如圖4.3-7所示圖4.3-7翻頁網(wǎng)址變化由此我們可以知道,后綴subcate16_0_list_1_0_99_2_0_X控制網(wǎng)頁的頁數(shù),所以我們可以自定義for循環(huán)使X的值不同,以達(dá)到去到不同頁面的目的,使用str函數(shù)將其拼接在網(wǎng)址后,從而得到新網(wǎng)頁地址。fornuminrange(1,3):complete_url='/notebook_index/subcate16_0_list_1_0_99_2_0_'+str(num)+'.html'print(complete_url)圖4.3-8新網(wǎng)址完成翻頁效果4.3.4數(shù)據(jù)預(yù)處理1)導(dǎo)入指定的庫importreimportpandasaspdfromscipy.statsimportzscorefromtabulateimporttabulate2)自定義方法main(),作為實現(xiàn)調(diào)用其他數(shù)據(jù)預(yù)處理自定義方法的入口。defmain():#1數(shù)據(jù)讀取laptops=pd.read_excel('zgc_pages.xlsx',skiprows=1,usecols=lambdax:xnotin[0])laptop=pd.read_excel('zgc_new.xlsx')#2數(shù)據(jù)集成lap_con=pd.concat([laptop,laptops],axis=0)#3探索清理數(shù)據(jù)laptops_new=check_data(lap_con)#4數(shù)據(jù)轉(zhuǎn)換result=transform_data(laptops_new)print(tabulate(result,headers='keys',tablefmt='pretty'))3)自定義check_data(laptops)方法用于數(shù)據(jù)探索、數(shù)據(jù)清理和數(shù)據(jù)規(guī)約操作。defcheck_data(laptops):#1.探索數(shù)據(jù)#查看前幾行數(shù)據(jù)print(laptops.head())#查看列名laptops_colmuns=laptops.columnsprint(())#2.數(shù)據(jù)清理#2.1清理缺失值#2.1.1判斷缺失值位置print(laptops['評分'].isnull())#2.1.2刪除缺失值laptops.drop(index=laptops[laptops['評分'].isnull()].index,inplace=True)laptops.drop(index=laptops[laptops['配置'].isnull()].index,inplace=True)#2.2清理重復(fù)值#2.2.1判斷重復(fù)值位置print(laptops.duplicated())#2.2.2刪除重復(fù)值print(laptops.drop_duplicates(inplace=True))#2.3.1判斷異常值計算z分?jǐn)?shù),判斷是否超過閾值z_scores=zscore(laptops['評分'])valid_rating_condition=(z_scores>-3)&(z_scores<3)#2.3.2清理異常值laptops_new=laptops[valid_rating_condition]returnlaptops_new4)自定義transform_data(laptops_new)方法用于數(shù)據(jù)轉(zhuǎn)換操作。deftransform_data(laptops_new):#是否允許鏈?zhǔn)剿饕d.set_option('mode.chained_assignment',None)#1.價格拆分#將價格轉(zhuǎn)換為最低價格和最高價格#以-為界進(jìn)行分割split_values=laptops_new['價格'].str.split('-',expand=True)laptops_new[['最低價','最高價']]=split_values#定義一個函數(shù),用于處理包含萬字的數(shù)值列defprocess_wan(value):try:ifre.search(r'萬',value):returnfloat(re.sub(r'萬','',value))*10000else:returnfloat(value)except(ValueError,TypeError):return0#對每一列應(yīng)用處理函數(shù)laptops_new['最低價']=laptops_new['最低價'].apply(process_wan)laptops_new['最高價']=laptops_new['最高價'].apply(process_wan)laptops_new.drop(columns='價格',inplace=True)#定義Min-Max標(biāo)準(zhǔn)化函數(shù)defmin_max_scaling(value,min_value,max_value):return(value-min_value)/(max_value-min_value)#2.評分標(biāo)準(zhǔn)化min_rating=laptops_new['評分'].min()max_rating=laptops_new['評分'].max()#使用Min-Max標(biāo)準(zhǔn)化函數(shù)進(jìn)行標(biāo)準(zhǔn)化laptops_new.lo
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 租賃設(shè)備包清工合同樣本
- 工業(yè)機器人技術(shù)與應(yīng)用模擬習(xí)題與答案
- 植物學(xué)習(xí)題庫含答案
- 線上升國旗課件
- 水電工程承包合作合同
- 2024年2月份暗物質(zhì)探測器共有權(quán)分割技術(shù)標(biāo)準(zhǔn)協(xié)議
- 機電安裝工程合同補充條款范本
- 肩關(guān)節(jié)鏡手術(shù)護(hù)理
- 給排水工程承包合同范本
- 2024年3月份墻體廣告動態(tài)紫外線消毒集成協(xié)議
- 三年級下冊綜合實踐活動課件-水果拼盤 全國通用(共15張PPT)
- 污水池內(nèi)防腐施工方案
- 關(guān)于對領(lǐng)導(dǎo)班子的意見和建議
- 火警火災(zāi)處理標(biāo)準(zhǔn)流程
- TCCIAT 0043-2022 建筑工程滲漏治理技術(shù)規(guī)程
- 初中美術(shù)七年級下冊《第4課扮靚生活的花卉紋樣》課件
- 土建、裝飾、維修改造等零星工程施工組織方案設(shè)計技術(shù)標(biāo)范文
- 宮頸癌病歷書寫模板
- 芭蕾基訓(xùn)課程課時教案
- T∕CIC 049-2021 水泥窯用固體替代燃料
- 部編版高中語文必修下冊第八單元《單元導(dǎo)讀》教學(xué)設(shè)計
評論
0/150
提交評論