A simple wrapper for multiple tokens of multiple APIs
Project description
About
APIs usually require access tokens to limit frequencies of requests.
If you want to request over limitations, you need to generate multiple tokens and roop over them.
Capybara is a simple wrapper for multiple tokens.
Send Pull Requests on GitHub to add available services!
Dependencies
Installed python-amazon-simple-product-api (pip install python-amazon-simple-product-api)
Installed requests (pip install requests)
Valid API tokens for each service you want to use
Installation
pip install capybara
or
pip install git+https@github.com:AkihikoITOH/capybara.git
Available Services
Amazon
Wrapper of Amazon Product Advertising API.
楽天
Wrapper of 楽天商品検索API.
Usage
via cAPIbara server (Recommended)
Start server
python api.py <config_dir> <tokens_dir>
or
virtualenv/bin/Python2.7 api.py <config_dir> <tokens_dir>
Send requests
Get info about services
http GET http://localhost:5000/info/<service>/
Example:
http GET http://localhost:5000/info/amazon/
Get item
http GET http://localhost:5000/get/<service>/<item>/
Example:
http GET http://localhost:5000/get/amazon/B000WLKFCK/ # => {'category': 'Kitchen', 'raw': <amazon.api.AmazonProduct object at 0x104b1fcd0>, 'title': u'Panasonic \u98df\u5668\u6d17\u3044\u6a5f\u7528\u7f6e\u53f0 N-SP3'} http GET http://localhost:5000/get/amazon/B000WLKFCK/title/ # => Panasonic 食器洗い機用置台 N-SP3 http GET http://localhost:5000/get/amazon/B000WLKFCK/category # => Kitchen
As a Python module
import capybara
c = capybara.Capybara(config_dir='/path/to/config/', tokens_dir='/path/to/tokens/')
# Amazon
result = c.get(service='amazon', item='B005CSYH5Y')
print result['raw']
print result['title']
print result['category']
# 楽天
result = c.get(service='rakuten', item='urutoragion:10000866')
print result['raw']
print result['title']
print result['url']
print result['category_id']
print result['category']
Setup
anywhere/you/like ├── config │ ├── amazon_config.json │ └── rakuten_config.json └── tokens ├── amazon_tokens.tsv └── rakuten_tokens.tsv
config directory
Set access frequency or other configurations in JSON format for each service.
attribute |
type |
description |
example |
---|---|---|---|
interval |
integer |
interval time between requests per token (in milli second) |
1000 |
slow |
float |
extension ratio of interval |
1.2 |
path/to/config/sample_config.json
{
"interval": 1000,
"slow": 1.2
}
Note: Attributes must be in lower cases and “double quoted”.
Note
Actual interval time per token will be [interval]*[slow]
Thus actual access frequency(per hour) will be [# of tokens]*3600/[interval]*[slow]
tokens directory
List access tokens and other required parameters in TSV format for each service.
See Product Advertising API to get new access tokens.
Amazon
parameter |
description |
---|---|
ACCESS_KEY |
access key |
SECRET_KEY |
secret key |
ASSOC_TAG |
associate tag |
LOCALE |
locale |
path/to/tokens/amazon_tokens.tsv
ACCESS_KEY1 SECRET_KEY1 ASSOC_TAG1 LOCALE ACCESS_KEY2 SECRET_KEY2 ASSOC_TAG2 LOCALE ACCESS_KEY3 SECRET_KEY3 ASSOC_TAG3 LOCALE ACCESS_KEY4 SECRET_KEY4 ASSOC_TAG4 LOCALE
楽天
See 楽天商品検索API to get new access tokens.
parameter |
description |
---|---|
applicationId |
application id |
lib/tokens/rakuten_tokens.tsv
applicationId1 applicationId2 applicationId3 applicationId4
License
Copyright © 2015 ITOH Akihiko
See LICENSE for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file capybara-0.2.0.tar.gz
.
File metadata
- Download URL: capybara-0.2.0.tar.gz
- Upload date:
- Size: 7.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e93fc897610e88223138ef35cb00b5ebaecba67c56856b354ae4353481ebc8fb |
|
MD5 | 1d2fe626b5f06a10cee1f5a12f14e4d1 |
|
BLAKE2b-256 | bbe19fd76bdbe94dfbb0e038a646c868f591094970e1236f1d16b6889c6b4157 |
File details
Details for the file capybara-0.2.0-py2.py3-none-any.whl
.
File metadata
- Download URL: capybara-0.2.0-py2.py3-none-any.whl
- Upload date:
- Size: 12.2 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 894b2f9966b3056abd6ecaef60b6423e70a51db939595e719561f11aed43123e |
|
MD5 | 5871f7aa5174abc2db86a7abc954b20d |
|
BLAKE2b-256 | f4bd19a6d152cf713501bfebd487c9493ccac7e02195c7e0b1f9fdab381d9b33 |