一、抓取數(shù)據(jù)
1、抓取數(shù)據(jù)的意義
對(duì)電商來(lái)說(shuō),抓取某些數(shù)據(jù),再進(jìn)行分析,可以有效地反映出數(shù)據(jù)在某個(gè)區(qū)間內(nèi)變化情況。數(shù)據(jù)受某些因素而發(fā)生巨大的影響,也可以借助分析的數(shù)據(jù)來(lái)規(guī)劃相關(guān)項(xiàng)目的后續(xù)發(fā)展。因此,如果能利用網(wǎng)頁(yè)爬取數(shù)據(jù)技術(shù)獲取數(shù)據(jù)并對(duì)各種數(shù)據(jù)進(jìn)行統(tǒng)計(jì)分析,對(duì)后續(xù)淘寶的發(fā)展具有指導(dǎo)意義。
2、抓取的內(nèi)容
包括:商品名稱title、商品價(jià)格price、付款人數(shù)deal,店鋪名稱shop、店鋪地址location、商品的詳情頁(yè)detail_url等參數(shù)。
3、實(shí)現(xiàn)內(nèi)容
1、開打淘寶網(wǎng)站,輸入搜索內(nèi)容“新款連衣裙”查找商品
2、再解決登錄問(wèn)題(登錄時(shí)解決網(wǎng)站對(duì)selenium的判別,修改瀏覽器的內(nèi)部屬性,否則被識(shí)別出有selenium,需要進(jìn)行滑動(dòng)登陸驗(yàn)證。但是在運(yùn)行時(shí),你手動(dòng)地去進(jìn)行滑動(dòng)登錄也是會(huì)判別出存在selenium的,進(jìn)而登陸不上去)
3、對(duì)查找商品在控制臺(tái)上輸出
4、具體實(shí)現(xiàn)代碼
- from selenium import webdriver
- import time
- import random
二、封裝接口方式
taobao.item_search-獲得淘寶天貓商品列表數(shù)據(jù)接口
1.請(qǐng)求方式:HTTP POST GET
2.請(qǐng)求參數(shù):
請(qǐng)求參數(shù):q=女裝&start_price=0&end_price=0&page=1&cat=0&discount_only=&sort=&page_size=&seller_info=&nick=&ppath=&imgid=&filter=
參數(shù)說(shuō)明:q:搜索關(guān)鍵字
cat:分類ID
start_price:開始價(jià)格
end_price:結(jié)束價(jià)格
sort:排序[bid,_bid,bid2,_bid2,_sale,_credit]
(bid:總價(jià),bid2:商品價(jià)格,sale:銷量,credit信用,加_前綴為從大到小排序)
page:頁(yè)數(shù)
3.公共參數(shù)
名稱 | 類型 | 必須 | 描述 |
---|---|---|---|
key | String | 是 | 調(diào)用key(必須以GET方式拼接在URL中) |
secret | String | 是 | 調(diào)用密鑰 (復(fù)制v:Taobaoapi2014 ) |
api_name | String | 是 | API接口名稱(包括在請(qǐng)求地址中)[item_search,item_get,item_search_shop等] |
cache | String | 否 | [yes,no]默認(rèn)yes,將調(diào)用緩存的數(shù)據(jù),速度比較快 |
result_type | String | 否 | [json,jsonu,xml,serialize,var_export]返回?cái)?shù)據(jù)格式,默認(rèn)為json,jsonu輸出的內(nèi)容中文可以直接閱讀 |
lang | String | 否 | [cn,en,ru]翻譯語(yǔ)言,默認(rèn)cn簡(jiǎn)體中文 |
version | String | 否 | API版本 (查看接口調(diào)用示例 ) |
4.請(qǐng)求代碼示例,支持高并發(fā)請(qǐng)求(CURL、PHP 、PHPsdk 、Java 、C# 、Python...)
# coding:utf-8
"""
Compatible for python2.x and python3.x
requirement: pip install requests
"""
from __future__ import print_function
import requests
# 請(qǐng)求示例 url 默認(rèn)請(qǐng)求參數(shù)已經(jīng)做URL編碼
url = "https://api-vx.Taobaoapi2014.cn/taobao/item_search/?key=<您自己的apiKey>&secret=<您自己的apiSecret>&q=女裝&start_price=0&end_price=0&page=1&cat=0&discount_only=&sort=&page_size=&seller_info=&nick=&ppath=&imgid=&filter="
headers = {
"Accept-Encoding": "gzip",
"Connection": "close"
}
if __name__ == "__main__":
r = requests.get(url, headers=headers)
json_obj = r.json()
print(json_obj)
5.響應(yīng)示例