Skip to main content

Python client for RealClearPolitics.

Project description

Build Status codecov

Python client for RealClearPolitics.

Install

pip install realclearpolitics

Usage

usage: rcp [-h] [--output [OUTPUT]] [--generate-table] url [url ...]

positional arguments:
  url                The url of the polling data.

optional arguments:
  -h, --help         show this help message and exit
  --output [OUTPUT]  The output file name.
  --generate-table   Pass this argument to generate a table.

Examples

Get the US general election results.

rcp http://www.realclearpolitics.com/epolls/2016/president/us/general_election_trump_vs_clinton-5491.html --output general.csv

Download multiple polls.

rcp http://www.realclearpolitics.com/epolls/2016/president/us/general_election_trump_vs_clinton-5491.html \
> https://www.realclearpolitics.com/epolls/other/president_trump_job_approval_economy-6182.html \
> https://www.realclearpolitics.com/epolls/other/president_trump_job_approval_foreign_policy-6183.html

API Usage

Search for Fox News poll numbers for Trump:

from rcp import get_polls, get_poll_data
from pprint import pprint

polls = get_polls(candidate="Trump", pollster="Fox")

for poll in polls:
    td = get_poll_data(poll['url'])
    pprint(td)

The will return a dictionary structured like this:

[
    {
        'data': [{'Biden (D)': '49.6',
                'Date': '3/27 - 7/9',
                'MoE': '--',
                'Poll': 'RCP Average',
                'Sample': '--',
                'Spread': 'Biden +8.5',
                'Trump (R)': '41.1'},
        ...
        }],
    'poll': 'https://www.realclearpolitics.com/epolls/2020/president/us/general_election_trump_vs_biden-6247.html'

]

Write a poll to CSV:

from rcp import get_polls, get_poll_data, to_csv

polls = get_polls(candidate="Biden")[0]
data = get_poll_data(polls['url'], csv_output=True)
to_csv('output.csv', data)

Create table:

from rcp import get_poll_data
from prettytable import PrettyTable

x = PrettyTable()

td = get_poll_data(
    "https://www.realclearpolitics.com/epolls/other/president_trump_job_approval-6179.html"
)

x.field_names = list(td[0]["data"][0].keys())
x.align = "l"

for row in td[0]["data"]:
    x.add_row(row.values())

print(x)

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

realclearpolitics-1.4.0.tar.gz (4.3 kB view details)

Uploaded Source

Built Distribution

realclearpolitics-1.4.0-py2.py3-none-any.whl (4.7 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file realclearpolitics-1.4.0.tar.gz.

File metadata

  • Download URL: realclearpolitics-1.4.0.tar.gz
  • Upload date:
  • Size: 4.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.7.7

File hashes

Hashes for realclearpolitics-1.4.0.tar.gz
Algorithm Hash digest
SHA256 fdc1a865fb3606c8692d4db1f4e0294b6793af2a52ef63753c627cb66c6bfe21
MD5 7beea64a84c2c87d9e3996eacac631e9
BLAKE2b-256 c51f0a736b5fdd8f1538cde898209af9414a7fd0cb16660b18fbe37befd464c7

See more details on using hashes here.

File details

Details for the file realclearpolitics-1.4.0-py2.py3-none-any.whl.

File metadata

  • Download URL: realclearpolitics-1.4.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 4.7 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.7.7

File hashes

Hashes for realclearpolitics-1.4.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 59da79127a8ad33cca3236ce0c2acf75eb37b72f041bbae2ecde69c1142affb0
MD5 1dcea4eb0e0fe9550592cc9d53c8794a
BLAKE2b-256 56eb5db2722b89c6198ad5f6fac4cebc7a491345269a77aa6a4fa46192183228

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