Skip to main content

A simple wrapper for multiple tokens of multiple APIs

Project description

Build Status Downloads Latest Version Supported Python versions Development Status Download format License

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

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

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 &copy 2015 ITOH Akihiko

See LICENSE for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

capybara-0.2.0.tar.gz (7.0 kB view details)

Uploaded Source

Built Distribution

capybara-0.2.0-py2.py3-none-any.whl (12.2 kB view details)

Uploaded Python 2 Python 3

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

Hashes for capybara-0.2.0.tar.gz
Algorithm Hash digest
SHA256 e93fc897610e88223138ef35cb00b5ebaecba67c56856b354ae4353481ebc8fb
MD5 1d2fe626b5f06a10cee1f5a12f14e4d1
BLAKE2b-256 bbe19fd76bdbe94dfbb0e038a646c868f591094970e1236f1d16b6889c6b4157

See more details on using hashes here.

File details

Details for the file capybara-0.2.0-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for capybara-0.2.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 894b2f9966b3056abd6ecaef60b6423e70a51db939595e719561f11aed43123e
MD5 5871f7aa5174abc2db86a7abc954b20d
BLAKE2b-256 f4bd19a6d152cf713501bfebd487c9493ccac7e02195c7e0b1f9fdab381d9b33

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page