溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Python怎樣去爬取淘數(shù)據(jù)平臺(tái)商品數(shù)據(jù)

發(fā)布時(shí)間:2021-10-26 10:07:31 來源:億速云 閱讀:130 作者:柒染 欄目:大數(shù)據(jù)

這篇文章給大家介紹Python怎樣去爬取淘數(shù)據(jù)平臺(tái)商品數(shù)據(jù),內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

前言

最近發(fā)現(xiàn)了一個(gè)不錯(cuò)的數(shù)據(jù)網(wǎng)站,叫“淘數(shù)據(jù)”。里面的數(shù)據(jù)都是淘寶的商家數(shù)據(jù),包含了店名、類目、標(biāo)價(jià)、成交均價(jià)、銷量、銷售金額等

Python怎樣去爬取淘數(shù)據(jù)平臺(tái)商品數(shù)據(jù)

這個(gè)網(wǎng)站還是一位同學(xué)和我說才知道的,既然這樣,那就開始爬

Python怎樣去爬取淘數(shù)據(jù)平臺(tái)商品數(shù)據(jù)

項(xiàng)目目標(biāo)

爬取淘寶假發(fā)專業(yè)數(shù)據(jù),假發(fā)是我當(dāng)時(shí)隨便選的,再想選別的,要收費(fèi)了

Python怎樣去爬取淘數(shù)據(jù)平臺(tái)商品數(shù)據(jù)

受害者地址

https://www.taosj.com/industry/index.html#/data/hotitems/?cid=50023283&brand=&type=&pcid=

環(huán)境

Python3.6

pycharm

爬蟲代碼

導(dǎo)入所需工具

import requests
import csv

分析網(wǎng)頁,先F12打開開發(fā)者工具,復(fù)制你所需要的數(shù)據(jù),找數(shù)據(jù)所在的標(biāo)簽

Python怎樣去爬取淘數(shù)據(jù)平臺(tái)商品數(shù)據(jù)

找到所需要的URL和headers中的參數(shù)

Python怎樣去爬取淘數(shù)據(jù)平臺(tái)商品數(shù)據(jù)

url = 'https://www.taosj.com/data/industry/hotitems/list?cid=50023283&brand=&type=ALL&date=1596211200000&pageNo=1&pageSize=10&orderType=desc&orderField='.format(page)

headers = {
    'Host':'www.taosj.com',
    'Referer':'https://www.taosj.com/industry/index.html',
    'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36',
}

response = requests.get(url=url, headers=headers)
html_data = response.json()

在json數(shù)據(jù)中提取相關(guān)數(shù)據(jù)

lis = html_data['data']['list']
for li in lis:
    tb_url = 'https://detail.tmall.com/item.htm?id={}'.format(li['id'])
    dit = {
        '標(biāo)題': li['title'],
        '店鋪名稱': li['shop'],
        '類目': li['nextCatName'],
        '標(biāo)價(jià)': li['oriPrice'],
        '成交均價(jià)': li['price'],
        '銷售量': li['offer30'],
        '銷售金額': li['price30'],
        '淘寶地址': tb_url,
    }

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

f = open('淘數(shù)據(jù).csv', mode='a', encoding='utf-8-sig', newline='')
csv_writer = csv.DictWriter(f, fieldnames=['標(biāo)題', '品牌', '店鋪名稱', '類目', '標(biāo)價(jià)', '成交均價(jià)', '銷售量', '銷售金額', '淘寶地址'])
csv_writer.writeheader()
print(dit)

效果圖

Python怎樣去爬取淘數(shù)據(jù)平臺(tái)商品數(shù)據(jù)

完整代碼

import requests
import csv

f = open('淘數(shù)據(jù).csv', mode='a', encoding='utf-8-sig', newline='')
csv_writer = csv.DictWriter(f, fieldnames=['標(biāo)題', '品牌', '店鋪名稱', '類目', '標(biāo)價(jià)', '成交均價(jià)', '銷售量', '銷售金額', '淘寶地址'])
csv_writer.writeheader()

for page in range(1, 51):
    url = 'https://www.taosj.com/data/industry/hotitems/list?cid=50023282&brand=&type=ALL&date=1596211200000&pageNo={}&pageSize=10&orderType=desc&orderField=amount&searchKey='.format(page)
    """
    復(fù)制開發(fā)者工具中的requests headers 中的參數(shù) 記得加cookie
    """
    headers = {

        'Host': 'www.taosj.com',
        'Referer': 'https://www.taosj.com/industry/index.html',
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36',
    }

    response = requests.get(url=url, headers=headers)
    html_data = response.json()

    lis = html_data['data']['list']
    for li in lis:
        tb_url = 'https://detail.tmall.com/item.htm?id={}'.format(li['id'])
        dit = {
            '標(biāo)題': li['title'],
            '品牌': li['brand'],
            '店鋪名稱': li['shop'],
            '類目': li['nextCatName'],
            '標(biāo)價(jià)': li['oriPrice'],
            '成交均價(jià)': li['price'],
            '銷售量': li['offer30'],
            '銷售金額': li['price30'],
            '淘寶地址': tb_url,
        }
        csv_writer.writerow(dit)
        print(dit)

關(guān)于Python怎樣去爬取淘數(shù)據(jù)平臺(tái)商品數(shù)據(jù)就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI