国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Python爬蟲+數(shù)據(jù)可視化:分析唯品會商品數(shù)據(jù)

這篇具有很好參考價值的文章主要介紹了Python爬蟲+數(shù)據(jù)可視化:分析唯品會商品數(shù)據(jù)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

前言

唯品會是中國領先的在線特賣會電商平臺之一,它以“品牌特賣會”的模式運營,為會員提供品牌折扣商品。唯品會的商品包括服裝、鞋類、箱包、美妝、家居、母嬰、食品等各類品牌產(chǎn)品。

這就是今天的受害者,我們要拿取上面的泳衣數(shù)據(jù),然后可以做些數(shù)據(jù)可視化

數(shù)據(jù)來源分析

1. 明確需求

  • 明確采集網(wǎng)站以及數(shù)據(jù)
    網(wǎng)址: https://category.vip.com/suggest.php?keyword=%E6%B3%B3%E8%A1%A3&ff=235|12|1|1
    數(shù)據(jù): 商品信息

2. 抓包分析:通過瀏覽器自帶工具: 開發(fā)者工具

  • 打開開發(fā)者工具: F12 / 右鍵點擊檢查選擇network
  • 刷新網(wǎng)頁: 讓網(wǎng)頁數(shù)據(jù)重新加載一遍
  • 搜索關鍵字: 搜索數(shù)據(jù)在哪里
    找到數(shù)據(jù)包: 50條商品數(shù)據(jù)信息
    整頁數(shù)據(jù)內(nèi)容: 120條 --> 分成三個數(shù)據(jù)包
    1. 前50條數(shù)據(jù) --> 前50個商品ID
    2. 中50條數(shù)據(jù) --> 中50個商品ID
    3. 后20條數(shù)據(jù) --> 后20個商品ID

已知: 數(shù)據(jù)分為三組 --> 對比三組數(shù)據(jù)包請求參數(shù)變化規(guī)律
請求參數(shù)變化規(guī)律: 商品ID
分析找一下 是否存在一個數(shù)據(jù)包, 包含所有商品ID

如果想要獲取商品信息 --> 先獲取所有商品ID --> ID存在數(shù)據(jù)包

代碼實現(xiàn)步驟: 發(fā)送請求 -> 獲取數(shù)據(jù) -> 解析數(shù)據(jù) -> 保存數(shù)據(jù)

發(fā)送請求

我們定義了要爬取的URL地址,并設置了User-Agent請求頭,以模擬瀏覽器發(fā)送請求。
使用requests.get方法發(fā)送GET請求,并將響應保存在response變量中。

headers = {
    # 防盜鏈 告訴服務器請求鏈接地址從哪里跳轉過來
    'Referer': 'https://category.vip.com/',
    # 用戶代理, 表示瀏覽器基本身份信息
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko)'
}
# 請求鏈接
url = 'https://mapi.vip.com/vips-mobile/rest/shopping/pc/search/product/rank'
data = {
    # 回調(diào)函數(shù)
    # 'callback': 'getMerchandiseIds',
    'app_name': 'shop_pc',
    'app_version': '4.0',
    'warehouse': 'VIP_HZ',
    'fdc_area_id': '104103101',
    'client': 'pc',
    'mobile_platform': '1',
    'province_id': '104103',
    'api_key': '70f71280d5d547b2a7bb370a529aeea1',
    'user_id': '',
    'mars_cid': '1689245318776_e2b4a7b51f99b3dd6a4e6d356e364148',
    'wap_consumer': 'a',
    'standby_id': 'nature',
    'keyword': '泳衣',
    'lv3CatIds': '',
    'lv2CatIds': '',
    'lv1CatIds': '',
    'brandStoreSns': '',
    'props': '',
    'priceMin': '',
    'priceMax': '',
    'vipService': '',
    'sort': '0',
    'pageOffset': '0',
    'channelId': '1',
    'gPlatform': 'PC',
    'batchSize': '120',
    '_': '1689250387620',
}
# 發(fā)送請求 --> <Response [200]> 響應對象
response = requests.get(url=url, params=data, headers=headers)

解析數(shù)據(jù)

然后,我們定義了起始標簽和結束標簽,通過循環(huán)的方式遍歷文本,并提取每個商品的名稱和價格。

# 商品ID -> 120個
products = [i['pid'] for i in response.json()['data']['products']]
# 把120個商品ID 分組 --> 切片 起始:0 結束:50 步長:1
# 列表合并成字符串
product_id_1 = ','.join(products[:50]) #  提取前50個商品ID 0-49
product_id_2 = ','.join(products[50:100]) #  提取中50個商品ID 50-99
product_id_3 = ','.join(products[100:]) #  提取后20個商品ID 100到最后
product_id_list = [product_id_1, product_id_2, product_id_3]

for product_id in product_id_list:
    # 請求鏈接
    link = 'https://mapi.vip.com/vips-mobile/rest/shopping/pc/product/module/list/v2'
    # 請求參數(shù)
    params = {
        # 'callback': 'getMerchandiseDroplets2',
        'app_name': 'shop_pc',
        'app_version': '4.0',
        'warehouse': 'VIP_HZ',
        'fdc_area_id': '104103101',
        'client': 'pc',
        'mobile_platform': '1',
        'province_id': '104103',
        'api_key': '70f71280d5d547b2a7bb370a529aeea1',
        'user_id': '',
        'mars_cid': '1689245318776_e2b4a7b51f99b3dd6a4e6d356e364148',
        'wap_consumer': 'a',
        'productIds': product_id,
        'scene': 'search',
        'standby_id': 'nature',
        'extParams': '{"stdSizeVids":"","preheatTipsVer":"3","couponVer":"v2","exclusivePrice":"1","iconSpec":"2x","ic2label":1,"superHot":1,"bigBrand":"1"}',
        'context': '',
        '_': '1689250387628',
    }
    # 發(fā)送請求
    json_data = requests.get(url=link, params=params, headers=headers).json()
    for index in json_data['data']['products']:
        # 商品信息
        attr = ','.join([j['value'] for j in index['attrs']])
        # 創(chuàng)建字典
        dit = {
            '標題': index['title'],
            '品牌': index['brandShowName'],
            '原價': index['price']['marketPrice'],
            '售價': index['price']['salePrice'],
            '折扣': index['price']['mixPriceLabel'],
            '商品信息': attr,
            '詳情頁': f'https://detail.vip.com/detail-{index["brandId"]}-{index["productId"]}.html',
        }
        csv_writer.writerow(dit)
        print(dit)

保存數(shù)據(jù)

然后,我們使用open函數(shù)創(chuàng)建一個CSV文件,并指定文件名、寫入模式、編碼方式等參數(shù)。然后使用csv.DictWriter初始化一個寫入器對象,并指定表頭。

我們使用writer.writeheader()來寫入CSV文件的表頭,然后遍歷items列表,使用writer.writerow()將每個商品的數(shù)據(jù)寫入CSV文件中。

f = open('商品.csv', mode='a', encoding='utf-8', newline='')
csv_writer = csv.DictWriter(f, fieldnames=[
    '標題',
    '品牌',
    '原價',
    '售價',
    '折扣',
    '商品信息',
    '詳情頁',
])
csv_writer.writeheader()

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

先讀取數(shù)據(jù)

df = pd.read_csv('商品.csv')
df.head()

Python爬蟲+數(shù)據(jù)可視化:分析唯品會商品數(shù)據(jù),信息可視化,python,爬蟲

泳衣商品性別占比

from pyecharts import options as opts
from pyecharts.charts import Bar
from pyecharts.faker import Faker


c = (
    Bar()
    .add_xaxis(sex_type)
    .add_yaxis("", sex_num)
    .set_global_opts(
        title_opts=opts.TitleOpts(title="泳衣商品性別占比", subtitle=""),
        brush_opts=opts.BrushOpts(),
    )
)
c.load_javascript()

Python爬蟲+數(shù)據(jù)可視化:分析唯品會商品數(shù)據(jù),信息可視化,python,爬蟲

from pyecharts import options as opts
from pyecharts.charts import Pie

c = (
    Pie()
    .add("", [list(z) for z in zip(sex_type, sex_num)])
    .set_global_opts(title_opts=opts.TitleOpts(title="泳衣商品性別占比"))
    .set_series_opts(label_opts=opts.LabelOpts(formatter=": {c}"))
)
c.render_notebook()

Python爬蟲+數(shù)據(jù)可視化:分析唯品會商品數(shù)據(jù),信息可視化,python,爬蟲

商品品牌分布占比

shop_num = df['品牌'].value_counts().to_list()
shop_type = df['品牌'].value_counts().index.to_list()
c = (
    Pie()
    .add(
        "",
        [
            list(z)
            for z in zip(shop_type, shop_num)
        ],
        center=["40%", "50%"],
    )
    .set_global_opts(
        title_opts=opts.TitleOpts(title="商品品牌分布占比"),
        legend_opts=opts.LegendOpts(type_="scroll", pos_left="80%", orient="vertical"),
    )
    .set_series_opts(label_opts=opts.LabelOpts(formatter=": {c}"))
)
c.render_notebook()

Python爬蟲+數(shù)據(jù)可視化:分析唯品會商品數(shù)據(jù),信息可視化,python,爬蟲

各大品牌商品售價平均價格

# 按城市分組并計算平均薪資
avg_salary = df.groupby('品牌')['售價'].mean()
ShopType = avg_salary.index.tolist()
ShopNum = [int(a) for a in avg_salary.values.tolist()]
# 創(chuàng)建柱狀圖實例
c = (
    Bar()
    .add_xaxis(ShopType)
    .add_yaxis("", ShopNum)
    .set_global_opts(
        title_opts=opts.TitleOpts(title="各大品牌商品售價平均價格"),
        visualmap_opts=opts.VisualMapOpts(
            dimension=1,
            pos_right="5%",
            max_=30,
            is_inverse=True,
        ),
        xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=45))  # 設置X軸標簽旋轉角度為45度
    )
    .set_series_opts(
        label_opts=opts.LabelOpts(is_show=False),
        markline_opts=opts.MarkLineOpts(
            data=[
                opts.MarkLineItem(type_="min", name="最小值"),
                opts.MarkLineItem(type_="max", name="最大值"),
                opts.MarkLineItem(type_="average", name="平均值"),
            ]
        ),
    )
)

c.render_notebook()

Python爬蟲+數(shù)據(jù)可視化:分析唯品會商品數(shù)據(jù),信息可視化,python,爬蟲

各大品牌商品原價平均價格

# 按城市分組并計算平均薪資
avg_salary = df.groupby('品牌')['原價'].mean()
ShopType_1 = avg_salary.index.tolist()
ShopNum_1 = [int(a) for a in avg_salary.values.tolist()]
# 創(chuàng)建柱狀圖實例
c = (
    Bar()
    .add_xaxis(ShopType_1)
    .add_yaxis("", ShopNum_1)
    .set_global_opts(
        title_opts=opts.TitleOpts(title="各大品牌商品原價平均價格"),
        visualmap_opts=opts.VisualMapOpts(
            dimension=1,
            pos_right="5%",
            max_=30,
            is_inverse=True,
        ),
        xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=45))  # 設置X軸標簽旋轉角度為45度
    )
    .set_series_opts(
        label_opts=opts.LabelOpts(is_show=False),
        markline_opts=opts.MarkLineOpts(
            data=[
                opts.MarkLineItem(type_="min", name="最小值"),
                opts.MarkLineItem(type_="max", name="最大值"),
                opts.MarkLineItem(type_="average", name="平均值"),
            ]
        ),
    )
)

c.render_notebook()

Python爬蟲+數(shù)據(jù)可視化:分析唯品會商品數(shù)據(jù),信息可視化,python,爬蟲

唯品會泳衣商品售價價格區(qū)間

pie1 = (
    Pie(init_opts=opts.InitOpts(theme='dark',width='1000px',height='600px'))
    
    .add('', datas_pair_2, radius=['35%', '60%'])
    .set_series_opts(label_opts=opts.LabelOpts(formatter=":n5n3t3z%"))
    .set_global_opts(
        title_opts=opts.TitleOpts(
            title="唯品會泳衣商品\n\n售價價格區(qū)間", 
            pos_left='center', 
            pos_top='center',
            title_textstyle_opts=opts.TextStyleOpts(
                color='#F0F8FF', 
                font_size=20, 
                font_weight='bold'
            ),
        )
    )
    .set_colors(['#EF9050', '#3B7BA9', '#6FB27C', '#FFAF34', '#D8BFD8', '#00BFFF', '#7FFFAA'])
)
pie1.render_notebook() 

Python爬蟲+數(shù)據(jù)可視化:分析唯品會商品數(shù)據(jù),信息可視化,python,爬蟲文章來源地址http://www.zghlxwxcb.cn/news/detail-609495.html

??問題解答 · 源碼獲取 · 技術交流 · 抱團學習請聯(lián)系??

到了這里,關于Python爬蟲+數(shù)據(jù)可視化:分析唯品會商品數(shù)據(jù)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • Python爬蟲:批量采集58同城數(shù)據(jù),進行可視化分析!

    Python爬蟲:批量采集58同城數(shù)據(jù),進行可視化分析!

    哈嘍大家好,今天我們來獲取一下某個生活平臺網(wǎng)站數(shù)據(jù),進行可視化分析。 采集58的數(shù)據(jù)可以使用Python的requests庫和beautifulsoup庫,數(shù)據(jù)可視化分析可以使用matplotlib庫和seaborn庫。下面是一個簡單的例子: 1、首先導入需要使用的模塊 ? 2、設置請求頭,模擬瀏覽器請求。 ?

    2024年02月06日
    瀏覽(21)
  • 【爬蟲+數(shù)據(jù)清洗+可視化】用Python分析“淄博燒烤“的評論數(shù)據(jù)

    【爬蟲+數(shù)據(jù)清洗+可視化】用Python分析“淄博燒烤“的評論數(shù)據(jù)

    目錄 一、背景介紹 二、爬蟲代碼 2.1 展示爬取結果 2.2 爬蟲代碼講解 三、可視化代碼 3.1 讀取數(shù)據(jù) 3.2 數(shù)據(jù)清洗 3.3 可視化 3.3.1 IP屬地分析-柱形圖 3.3.2 評論時間分析-折線圖 3.3.3 點贊數(shù)分布-箱線圖 3.3.4 評論內(nèi)容-情感分布餅圖 3.3.5 評論內(nèi)容-詞云圖 四、技術總結 五、演示視頻

    2024年02月06日
    瀏覽(30)
  • python爬蟲分析基于python圖書館書目推薦數(shù)據(jù)分析與可視化

    python爬蟲分析基于python圖書館書目推薦數(shù)據(jù)分析與可視化

    收藏關注不迷路 隨著電子技術的普及和快速發(fā)展,線上管理系統(tǒng)被廣泛的使用,有很多商業(yè)機構都在實現(xiàn)電子信息化管理,圖書推薦也不例外,由比較傳統(tǒng)的人工管理轉向了電子化、信息化、系統(tǒng)化的管理。 傳統(tǒng)的圖書推薦管理,一開始都是手工記錄,然后將手工記錄的文

    2024年02月08日
    瀏覽(21)
  • 【爬蟲+數(shù)據(jù)清洗+可視化分析】用Python分析嗶哩嗶哩“狂飆”的評論數(shù)據(jù)

    【爬蟲+數(shù)據(jù)清洗+可視化分析】用Python分析嗶哩嗶哩“狂飆”的評論數(shù)據(jù)

    目錄 一、背景介紹 二、爬蟲代碼 三、可視化代碼 3.1 讀取數(shù)據(jù) 3.2 數(shù)據(jù)清洗 3.3 可視化 3.3.1 IP屬地分析-柱形圖 3.3.2 評論時間分析-折線圖 3.3.3 點贊數(shù)分布-直方圖 3.3.4 評論內(nèi)容-情感分布餅圖 3.3.5 評論內(nèi)容-詞云圖 四、演示視頻 您好,我是@馬哥python說,一枚10年程序猿。 202

    2024年02月02日
    瀏覽(25)
  • Python淘寶手機爬蟲數(shù)據(jù)可視化分析大屏全屏系統(tǒng)

    ?博主介紹 :黃菊華老師《Vue.js入門與商城開發(fā)實戰(zhàn)》《微信小程序商城開發(fā)》圖書作者,CSDN博客專家,在線教育專家,CSDN鉆石講師;專注大學生畢業(yè)設計教育和輔導。 所有項目都配有從入門到精通的基礎知識視頻課程,學習后應對畢業(yè)設計答辯。 項目配有對應開發(fā)文檔、

    2024年04月17日
    瀏覽(29)
  • Python爬蟲淘寶手機數(shù)據(jù)可視化分析大屏全屏系統(tǒng)

    Python爬蟲淘寶手機數(shù)據(jù)可視化分析大屏全屏系統(tǒng)

    ?博主介紹 :黃菊華老師《Vue.js入門與商城開發(fā)實戰(zhàn)》《微信小程序商城開發(fā)》圖書作者,CSDN博客專家,在線教育專家,CSDN鉆石講師;專注大學生畢業(yè)設計教育和輔導。 所有項目都配有從入門到精通的基礎知識視頻課程,免費 項目配有對應開發(fā)文檔、開題報告、任務書、

    2024年02月03日
    瀏覽(24)
  • Python招聘信息爬蟲數(shù)據(jù)可視化分析大屏全屏系統(tǒng)

    Python招聘信息爬蟲數(shù)據(jù)可視化分析大屏全屏系統(tǒng)

    ?博主介紹 :黃菊華老師《Vue.js入門與商城開發(fā)實戰(zhàn)》《微信小程序商城開發(fā)》圖書作者,CSDN博客專家,在線教育專家,CSDN鉆石講師;專注大學生畢業(yè)設計教育和輔導。 所有項目都配有從入門到精通的基礎知識視頻課程,學習后應對畢業(yè)設計答辯。 項目配有對應開發(fā)文檔、

    2024年04月09日
    瀏覽(28)
  • 基于Python的網(wǎng)絡爬蟲爬取天氣數(shù)據(jù)可視化分析

    基于Python的網(wǎng)絡爬蟲爬取天氣數(shù)據(jù)可視化分析

    目錄 摘 要 1 一、 設計目的 2 二、 設計任務內(nèi)容 3 三、 常用爬蟲框架比較 3 四、網(wǎng)絡爬蟲程序總體設計 3 四、 網(wǎng)絡爬蟲程序詳細設計 4 4.1設計環(huán)境和目標分析 4 4.2爬蟲運行流程分析 5 爬蟲基本流程 5 發(fā)起請求 5 獲取響應內(nèi)容 5 解析數(shù)據(jù) 5 保存數(shù)據(jù) 5 Request和Response 5 Request 5

    2024年02月08日
    瀏覽(26)
  • 數(shù)據(jù)分析畢業(yè)設計 大數(shù)據(jù)招聘崗位數(shù)據(jù)分析與可視化 - 爬蟲 python

    數(shù)據(jù)分析畢業(yè)設計 大數(shù)據(jù)招聘崗位數(shù)據(jù)分析與可視化 - 爬蟲 python

    # 1 前言 ?? 這兩年開始畢業(yè)設計和畢業(yè)答辯的要求和難度不斷提升,傳統(tǒng)的畢設題目缺少創(chuàng)新和亮點,往往達不到畢業(yè)答辯的要求,這兩年不斷有學弟學妹告訴學長自己做的項目系統(tǒng)達不到老師的要求。 為了大家能夠順利以及最少的精力通過畢設,學長分享優(yōu)質(zhì)畢業(yè)設計項

    2024年02月10日
    瀏覽(30)
  • 【Python爬蟲+數(shù)據(jù)分析】采集電商平臺數(shù)據(jù)信息,并做可視化演示

    【Python爬蟲+數(shù)據(jù)分析】采集電商平臺數(shù)據(jù)信息,并做可視化演示

    隨著電商平臺的興起,越來越多的人開始在網(wǎng)上購物。而對于電商平臺來說,商品信息、價格、評論等數(shù)據(jù)是非常重要的。因此,抓取電商平臺的商品信息、價格、評論等數(shù)據(jù)成為了一項非常有價值的工作。本文將介紹如何使用Python編寫爬蟲程序,抓取電商平臺的商品信息、

    2024年02月08日
    瀏覽(20)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包