一、抓取數據
1、抓取數據的意義
對電商來說,抓取某些數據,再進行分析,可以有效地反映出數據在某個區間內變化情況。數據受某些因素而發生巨大的影響,也可以借助分析的數據來規劃相關項目的后續發展。因此,如果能利用網頁爬取數據技術獲取數據并對各種數據進行統計分析,對后續淘寶的發展具有指導意義。
2、抓取的內容
包括:商品名稱title、商品價格price、付款人數deal,店鋪名稱shop、店鋪地址location、商品的詳情頁detail_url等參數。
3、實現內容
1、開打淘寶網站,輸入搜索內容“新款連衣裙”查找商品
2、再解決登錄問題(登錄時解決網站對selenium的判別,修改瀏覽器的內部屬性,否則被識別出有selenium,需要進行滑動登陸驗證。但是在運行時,你手動地去進行滑動登錄也是會判別出存在selenium的,進而登陸不上去)
3、對查找商品在控制臺上輸出
4、具體實現代碼
- from selenium import webdriver
- import time
- import random
二、封裝接口方式
taobao.item_search-獲得淘寶天貓商品列表數據接口
1.請求方式:HTTP POST GET
2.請求參數:
請求參數:q=女裝&start_price=0&end_price=0&page=1&cat=0&discount_only=&sort=&page_size=&seller_info=&nick=&ppath=&imgid=&filter=
參數說明:q:搜索關鍵字
cat:分類ID
start_price:開始價格
end_price:結束價格
sort:排序[bid,_bid,bid2,_bid2,_sale,_credit]
(bid:總價,bid2:商品價格,sale:銷量,credit信用,加_前綴為從大到小排序)
page:頁數
3.公共參數
名稱 | 類型 | 必須 | 描述 |
---|---|---|---|
key | String | 是 | 調用key(必須以GET方式拼接在URL中) |
secret | String | 是 | 調用密鑰 (復制v:Taobaoapi2014 ) |
api_name | String | 是 | API接口名稱(包括在請求地址中)[item_search,item_get,item_search_shop等] |
cache | String | 否 | [yes,no]默認yes,將調用緩存的數據,速度比較快 |
result_type | String | 否 | [json,jsonu,xml,serialize,var_export]返回數據格式,默認為json,jsonu輸出的內容中文可以直接閱讀 |
lang | String | 否 | [cn,en,ru]翻譯語言,默認cn簡體中文 |
version | String | 否 | API版本 (查看接口調用示例 ) |
4.請求代碼示例,支持高并發請求(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
# 請求示例 url 默認請求參數已經做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.響應示例