Skip to main content

Python Twitter client to distribute requests across API keys

Project description

parallel-python-twitter

Travis CI

A client that distributes Twitter API requests across multiple keys. Built for Python 3.6.

Getting Started

First, get your API credentials together and get a list of twitter.Api objects:

import parallel_twitter
TWITTER_API_CONSUMER_KEY = ...
TWITTER_API_CONSUMER_SECRET = ...
OAUTHS = [
    {
        'oauth_token': ...,
        'oauth_token_secret': ...
    },
    {
        'oauth_token': ...,
        'oauth_token_secret': ...
    },
    ...
]
apis = parallel_twitter.oauth_dicts_to_apis(
    oauth_dicts=OAUTHS,
    api_consumer_key=TWITTER_API_CONSUMER_KEY,
    api_consumer_secret=TWITTER_API_CONSUMER_SECRET
)

Next, try out some of the examples:

user_ids = [
    561808704, # @neeljsomani
    813286, # @BarackObama
    17919972 # @taylorswift13
]
# Get a list of posts that these users liked
parallel_twitter.examples.pull_users_likes(
    users=user_ids,
    apis=apis
)
# Get a list of these users' posts + number of likes
parallel_twitter.examples.pull_users_posts(
    users=user_ids,
    apis=apis
)

Comparison with Twint

Twint is a Python library for scraping data from Twitter.

  1. From Twint's documentation: "Twitter limits scrolls while browsing the user timeline. This means that with .Profile or with .Favorites you will be able to get ~3200 tweets." There are no such limits if you distribute your requests using parallel-python-twitter.
  2. Twitter will block your requests if you scrape enough (ex: https://github.com/twintproject/twint/issues/682). I've tested parallel-python-twitter up to 100s of megabytes.
  3. Technically, twint violates Twitter's Terms of Service, since scraping is not permitted in general.

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

parallel-python-twitter-0.2.0.tar.gz (10.1 kB view details)

Uploaded Source

File details

Details for the file parallel-python-twitter-0.2.0.tar.gz.

File metadata

  • Download URL: parallel-python-twitter-0.2.0.tar.gz
  • Upload date:
  • Size: 10.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/47.3.1 requests-toolbelt/0.8.0 tqdm/4.31.1 CPython/3.6.0

File hashes

Hashes for parallel-python-twitter-0.2.0.tar.gz
Algorithm Hash digest
SHA256 457c294305261086f2361258fe78cd6758b5d0fa25bcac2d00af100bdbeea145
MD5 f28a12831755703ba8a513f5f9c8ef22
BLAKE2b-256 63b0680df2ee91880bed05865ff714584bfd07a460c7cbace37de25167d42b77

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