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 ['http://img13.360buyimg.com/n7/jfs/t12472/179/736139380/319777/f266f597/5a128bf6N079a87ba.jpg']
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
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:
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-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)
5.响应示例因文章字符限制,暂不展示。