爬虫京东,天猫,拼多多商品详情数据,数据搬家业务,数据分析,数据监控业务

387 阅读4分钟

1.简单说明

京东,淘宝,天猫,,淘特,拼多多,阿里巴巴,1688,抖音,苏宁,亚马逊中国 ,lazada,速卖通等全球50多个知名平台抓取数据,存储到database 并进行分析,用于数据搬家,数据分析,数据监控等。

2.抓取的DIC

the_basic_info = {

'search_keyword': self.keyword, "使用的keyword"

'last_crawling_timestamp': datetime.now(), "当前抓取时间"

'platform': 'JD', "抓取平台"

'product_name': product_name, "产品名称"

'seller_name': seller_name, "商家名称"

'sku_id': _data_pid, "产品Id"

'default_price': float(final_price), "最终价格"

'final_price': 0,

'item_url': _http, "商品网页地址"

'comments_ave_score': float(score_avg), "商品评分"

'comments_count': comment_count, "商品评论数量"

'images': img, "商品图片地址"

'current_stock': location_list, "商品存储地址"

'search_rank': rank, "在当前搜索索引下的排名"

'search_order': order, "当前索引(按销量,价格,热度等)"

'seller_url': seller_url, "商家网页地址"

'comments_list': comment_list "具体评论,支持抓取100条评论" }

一个例子:

Product_name 戴尔灵越游匣15PR-6748B 15.6英寸游戏笔记本电脑(i7-7700HQ 8G 128GSSD+1T GTX1050 4G独显 IPS)黑

last_crawling_timestamp 2017-12-28 20:20:09.684290

seller_name 戴尔京东自营旗舰店

sku_id 4824733

default_price 6599.0

item_url 【戴尔灵越游匣15PR-6748B】戴尔DELL灵越游匣15.6英寸游戏笔记本电脑(i7-7700HQ 8G 128GSSD+1T GTX1050 4G独显 IPS 散热快)黑【行情 报价 价格 评测】-京东

comments_count 72000

comments_ave_score 5.0

images ['img13.360buyimg.com/n7/jfs/t124…']

search_rank 1

seller_url 戴尔京东自营官方旗舰店 - 京东

comments_list [{'content_score': 5, 'content_time': '2017-12-05 18:54:31', 'content_title': None, 'content': '用了将近一个月了,说说体验如何。11月9号凌晨买的,当天下午就到了。包装精简,京东袋子里就是戴尔的盒子。电脑颜值高,A面类肤质,后面散热口非常帅。电脑不轻薄,因为做工的好的原因有点厚重,不过这样才有点游戏本的意思。宿舍里还有台暗影精灵2pro和R720,相比2pro键盘敲打起来挺有弹性,但是背光没有其他两台亮。个人感觉键盘触感最好的还是R720,而且按键大一些。说说R720和2PRO跟游匣无法比拟的,那就是低音炮,音质非常好,三个室友都夸赞羡慕游匣的音质。所以我的电脑也成了我们宿舍的音响。。。屏幕呢是ips45色域的。对于以前一直用的是TN屏的我感觉这电脑屏幕相当好了。再说说性能,其实性能是最不用说的,配置都摆在那里,鲁大师跑分将近一万八,1050ti能够应付大多数大型单机游戏了,吃鸡中画质可以流畅运行。运行大型游戏时风扇会全力运作,声音稍微有点响(散热好和噪音小不可兼得),我更注重散热所以风扇声大点无所谓,听着还挺带劲的。固态(不是nvme协议)和机械硬盘都比较差,开机十秒左右。总结下吧。优点:1.颜值高2.散热好3.做工精良4.配置低音炮缺点:1.低端ips屏2.略厚重3.硬盘差'}]

3.测试

if name == "main":

j = JDMonitoringEngine()

j.set_searching_url(_keyword="dell", _page_limit=1, _order=["sales"])

url_list = j.url_list

for _index, url_dict in enumerate(url_list):

logger.info("Sending {0}/{1} url dict to basic info extraction".format(

(_index + 1), len(url_list)))

results = list(map(lambda x: j.get_basic_info(x), url_dict))

将jd_monitoring_engine main 方法里面的_keyword,_page_limit,_order

改成你想测试的例子。三个参数分别是关键字,搜索页数和搜索索引。

4.接口封装代码

1.请求方式: HTTPS GET POST 请求链接:c0b.cc/R4rbK2

2.公共参数:

名称 类型 必须 描述

key String 是 调用key(必须以GET方式拼接在URL中)

secret String 是 调用密钥 (复制vxin: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版本

3.请求参数:

请求参数:q=女装&start_price=0&end_price=0&page=1&cat=0&discount_only=&sort=&seller_info=no&nick=&seller_info=&nick=&ppath=&imgid=&filter=
参数说明:q:搜索关键字,支持url
cat:分类ID
start_price:开始价格
end_price:结束价格
sort:排序[bid,_bid,_sale,_review,_new]
(bid:总价,sale:销量,review评论数,new新品,加_前缀为从大到小排序)<
page:

  1. 请求代码示例,支持高并发请求(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-vxin.Taobaoapi2014.cn/jd/item_search/?key=<您自己的apiKey>&secret=<您自己的apiSecret>&q=女装&start_price=0&end_price=0&page=1&cat=0&discount_only=&sort=&seller_info=no&nick=&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)