日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > python >内容正文

python

Python实现淘宝爬取——奶粉销售信息爬取及其数据可视化

發(fā)布時(shí)間:2023/12/14 python 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python实现淘宝爬取——奶粉销售信息爬取及其数据可视化 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

簡(jiǎn)介

雙十一剛過(guò),TB的銷(xiāo)售額又創(chuàng)下了新高,我也為2000+億做出了貢獻(xiàn)
恰巧買(mǎi)了一袋德運(yùn)奶粉,味道還不錯(cuò)。我就在想,接觸爬蟲(chóng)也有兩個(gè)多月了,還沒(méi)有爬過(guò)TB這種經(jīng)典的網(wǎng)站,借著勁頭就爬取了一下TB上奶粉的銷(xiāo)售信息

爬蟲(chóng)

在淘寶框搜索奶粉,就會(huì)彈出各式各樣的奶粉

可以爬取的有用信息:價(jià)格、銷(xiāo)售量、商品名稱(chēng)、店鋪、地址
淘寶是一個(gè)典型用json格式存儲(chǔ)信息的網(wǎng)址,通俗講,json格式就是一層套一層的字典,像淘寶這樣一個(gè)網(wǎng)頁(yè)中有很多商品的網(wǎng)頁(yè),源碼看起來(lái)可能會(huì)很復(fù)雜,但都是有規(guī)律可循,需要仔細(xì)觀察


通過(guò)分析,可以看出所有的商品信息都存儲(chǔ)在開(kāi)頭為g_page_config = 結(jié)尾為shopcardOff":true}};的一個(gè)字典中,只需要獲取這個(gè)字典然后用python中的json庫(kù)進(jìn)行解析即可

response = requests.get(urls,headers = headers) response.encoding = 'utf-8' html = response.text #print(html) start = html.find('g_page_config = ')+len('g_page_config = ') end = html.find('"shopcardOff":true}')+len('"shopcardOff":true}') js = json.loads(html[start:end+1]) # goods = re.search(r'g_page_config = (.*?)}};', response.text) # print(goods) # js = json.loads(str(goods))

這里列舉了兩種獲取方式,一是用find方法,二是用正則匹配,都能成功獲取網(wǎng)頁(yè)信息
解析網(wǎng)頁(yè)過(guò)后,就可以從獲取到的信息中提取有用信息,通過(guò)分析可得知有用信息都存儲(chǔ)在很多層嵌套的字典中,所以通過(guò)遍歷這個(gè)字典提取出信息

for i in js['mods']['itemlist']['data']['auctions']:#產(chǎn)品名稱(chēng)title = i['raw_title']#產(chǎn)品價(jià)格price = i['view_price']#地區(qū)location = i['item_loc'].split()[0]#銷(xiāo)售量sales = i['view_sales'].replace('人收貨','')#評(píng)價(jià)人數(shù)people = i['comment_count']#店鋪類(lèi)型store = i['nick']

為了便于數(shù)據(jù)分析,所以在提取信息時(shí),將地區(qū)和銷(xiāo)售量做了處理,例浙江 杭州浙江500人收貨500

數(shù)據(jù)處理

爬取數(shù)據(jù)結(jié)果如下

一共有2924條數(shù)據(jù),其實(shí)是遠(yuǎn)遠(yuǎn)少于100頁(yè)中商品數(shù)量
在進(jìn)行數(shù)據(jù)處理前,必須先要確定所有數(shù)據(jù)的字段是否完整

只有評(píng)價(jià)人數(shù)這個(gè)字段缺少一個(gè)數(shù)據(jù),填充數(shù)據(jù)或者刪去都不會(huì)對(duì)數(shù)據(jù)集整體產(chǎn)生很大影響
在觀察數(shù)據(jù)時(shí),可能在寫(xiě)入csv文件時(shí)語(yǔ)句不規(guī)范,出現(xiàn)了下圖問(wèn)題

列索引多次出現(xiàn)在數(shù)據(jù)集中,所以必須要?jiǎng)h去,只需要將數(shù)據(jù)集中不包含產(chǎn)品名稱(chēng)字樣的樣本保留即可

data1 = data[~data['產(chǎn)品名稱(chēng)'].isin(['產(chǎn)品名稱(chēng)'])]

數(shù)據(jù)集中6個(gè)特征都為object類(lèi)型,所以為了進(jìn)行數(shù)據(jù)可視化,需要對(duì)數(shù)據(jù)進(jìn)行強(qiáng)制轉(zhuǎn)換
價(jià)格和評(píng)價(jià)人數(shù)數(shù)據(jù)比較規(guī)范,直接用astype進(jìn)行轉(zhuǎn)化即可

data1['價(jià)格'] = data1['價(jià)格'].astype(float) data1['評(píng)價(jià)人數(shù)'] = data1['評(píng)價(jià)人數(shù)'].astype(int)

但是銷(xiāo)售量這一樣本中還有其他字符存在,可以編寫(xiě)一個(gè)函數(shù)處理數(shù)據(jù)

def price(e):if '萬(wàn)+' in e:num1 = re.findall('(.*?)萬(wàn)+',e)return float(num1[0])*10000elif '+' in e:return e.replace('+','')else:return float(e) data1['商品銷(xiāo)售量'] = data1['銷(xiāo)售量'].apply(price)

同時(shí)可以通過(guò)數(shù)據(jù)字符串中特有的字符,將奶粉和店鋪進(jìn)行分類(lèi)
奶粉大致可分為:全脂奶粉、低脂奶粉、脫脂奶粉、嬰幼兒奶粉、高鈣奶粉、未知
店鋪大致可分為:天貓超市、旗艦店、專(zhuān)營(yíng)店、海外類(lèi)型店鋪、其他店鋪
已知商品價(jià)格和銷(xiāo)售量后,也可以算出該商品的銷(xiāo)售額

data1['銷(xiāo)售額'] = data1['價(jià)格']*data1['商品銷(xiāo)售量']

處理后的數(shù)據(jù)如下

在對(duì)處理后數(shù)據(jù)大致瀏覽時(shí),出現(xiàn)了評(píng)價(jià)人數(shù)為0的情況

評(píng)價(jià)人數(shù)為0并不能判斷這個(gè)數(shù)據(jù)是否對(duì)錯(cuò),但是銷(xiāo)售量8500的商品評(píng)價(jià)為0,就顯著不符合常理,為了確定判斷,找到了該商品,評(píng)價(jià)人數(shù)有33w+,顯然這些是錯(cuò)誤數(shù)據(jù)

list = data1[data1['評(píng)價(jià)人數(shù)']<1].index.tolist() data1.drop([24, 138, 388, 1418, 2484],inplace = True)

drop函數(shù)直接將這幾行數(shù)據(jù)刪去,下面進(jìn)行數(shù)據(jù)可視化

數(shù)據(jù)可視化

1.類(lèi)型


奶粉的類(lèi)型,相對(duì)來(lái)說(shuō)還是嬰兒奶粉比較多,由于對(duì)產(chǎn)品名稱(chēng)提取特征不夠細(xì)化,所以未知也比較多,達(dá)到了800+;店鋪類(lèi)型則是其他店鋪占比最多,普通奶粉可依據(jù)價(jià)格挑選,但是嬰兒奶粉一定要依據(jù)質(zhì)量挑選才可,盡可能在旗艦店這樣比較可靠的店鋪購(gòu)買(mǎi)

2.店鋪地址分布


店鋪地址仍然是江浙滬、廣東占據(jù)大比例,可能不止奶粉,許多其他商品的網(wǎng)店、配貨倉(cāng)庫(kù)都集中分布在這些地區(qū);眾所周知,澳大利亞的奶粉是及其出名的,所以也占一定比例

3.價(jià)格


嬰兒奶粉的價(jià)格品牌是非常多的,所以價(jià)格分布也較廣泛,有的甚至達(dá)到了2000+,看來(lái)養(yǎng)孩子真的是不容易;相比脫脂、低脂奶粉,全脂奶粉反而價(jià)格更高,有點(diǎn)出乎意料,多了工序價(jià)格卻還低了?當(dāng)然品牌造成的影響也不可否認(rèn);高鈣奶粉價(jià)格相對(duì)來(lái)說(shuō)中規(guī)中矩,貴一點(diǎn)的也不過(guò)500左右

4.銷(xiāo)售額前50分布


這份數(shù)據(jù)中奶粉銷(xiāo)售額最高的可以達(dá)到1100w+,所以在網(wǎng)店中,奶粉的市場(chǎng)還是不小的

銷(xiāo)售額TOP50份樣本,43.3%的店鋪都為天貓超市,旗艦店也占有22.8%,所以可見(jiàn)大部分人買(mǎi)奶粉還是會(huì)到比較可靠的網(wǎng)店購(gòu)買(mǎi)的;奶粉類(lèi)型還是未知占據(jù)最多,其次嬰幼兒奶粉占比28.8%,而低脂奶粉和脫脂奶粉總占比6.7%,這兩類(lèi)奶粉會(huì)對(duì)健身人士、老年人及消化不良的嬰兒的人有些益處,所以銷(xiāo)售額也會(huì)相對(duì)較低

總結(jié)

以上是生活随笔為你收集整理的Python实现淘宝爬取——奶粉销售信息爬取及其数据可视化的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 少妇粉嫩小泬喷水视频www | 午夜aa | 欧美美女性生活视频 | а√在线中文网新版地址在线 | 男男全肉变态重口高h | 久久久五月天 | 欧美精品一区二区蜜桃 | 91亚洲精品久久久蜜桃借种 | 天堂在线视频观看 | 色综合福利| 亚洲国产一区在线观看 | 免费一级黄色 | xxxx96| 91呦呦| 337p粉嫩大胆噜噜噜噜69影视 | 一本色道久久综合亚洲 | 麻豆成人免费 | 精品国产乱码久久久久久浪潮 | 日韩欧美成人免费视频 | 亚洲精品久久久久久久蜜桃臀 | 浪漫樱花动漫在线观看免费 | 日韩免费观看视频 | 91.xxx.高清在线 | 国产不卡视频在线观看 | 毛片免费在线观看视频 | 九九九在线| www.浪潮av.com | 生活片毛片 | av小次郎收藏| 91国内精品久久久久 | 麻豆伦理片 | 黄色在线免费观看视频 | 欧美性猛交xx | 色亚洲色图| 91视频久久久 | 欧美色图一区 | 亚洲在线播放 | aa视频在线 | 亚洲午夜伦理 | 日韩成人高清在线 | 中国黄色一级片 | 青青草国产成人av片免费 | av黄色小说 | 特黄一级片 | 神马午夜我不卡 | www.热久久 | 久久亚洲成人av | 日韩在线不卡一区 | 美女网站在线免费观看 | 人人爽av| 97潮色| 成人里番精品一区二区 | 国产视频资源 | 欧美人与禽zozzo禽性配 | 激情开心成人网 | 永久免费看成人av的动态图 | 国产成人网 | 欧美精品一区二区在线播放 | 狠狠网 | www.sesehu.com| 色男天堂 | 三级理论电影 | 日本福利在线 | 岛国裸体写真hd在线 | 在线观看www视频 | 在线观看免费小视频 | 精品国产一区二区视频 | 亚洲欧美校园春色 | 亚洲 欧美 日韩 在线 | 尤物视频最新网址 | 国产精品毛片一区 | 日本在线视频www色 国产在线视频网址 | 欧美日韩综合 | 91caob| 一区二区三区在线观看免费 | 2024av视频 | 一本大道av伊人久久综合 | 久久美女性网 | 在线播放www | 国产福利第一页 | 国产成人无码精品亚洲 | wwwwxxxxx日本 | 亚洲视频黄 | 777中文字幕 | 超碰资源在线 | 日韩福利视频在线观看 | 一区二区三区四区影院 | 天天综合色 | 亚洲中文字幕无码不卡电影 | 国产精品99精品 | 337p日本大胆噜噜噜鲁 | 色哟哟在线观看 | 日韩一级伦理片 | 男人的天堂狠狠干 | 亚洲色婷婷久久精品av蜜桃 | 综合亚洲欧美 | sm久久捆绑调教精品一区 | 丰满少妇被猛烈进入高清播放 | 日本黄页网站免费大全 |