Skip to main content

Python web scraper for getting Polish political parties support percentage

Project description

APiS-Scraper

PL

Web scraper w Pythonie do pozyskiwania poparcia Polskich partii politycznych!

Oto prosta biblioteka która pobiera strone http://ewybory.eu/sondaze (mam nadzieje że właściciele stronki nie mają nic przeciwko ;), i wyciąga z niej procenty poparcia poszczególnych partii

Możesz je wykorzystać do jakiegoś kreatywnego fajnego projektu :)

Jak korzystać?

  • Zainstaluj: pip3 install -U apis-scraper
  • Zaimportuj: import apis_scraper
  • Użyj funkcji apis_scraper.scrape(). Zwraca ona słownik, wyglądający tak:
{
    'success': True,  # Czy się udało, jeśli nie - False
    'support' : {  # Słownik z % poparcia - liczba z przecinkiem
        'pis': 10.0,
        'ko': 10.0,
        'lewica': 10.0,
        'konfederacja': 10.0,
        'psl': 10.0,
        'polska2050': 10.0
    },  # Jeśli coś pójdzie nie tak, wszysktkie poparcia będą -1 a 'success' = False
    'growth': {  # Czy poparcie rośnie/spada. -1=spada, 0=takie same, 1=rośnie
        'pis': 0,
        'ko': 0,
        'lewica': 0,
        'konfederacja': 0,
        'psl': 0,
        'polska2050': 0
    }
}

Przykładowy kod:

import apis_scraper

wyniki = apis_scraper.scrape()
if wyniki['success'] == False:
    print('Nie dało rady - nie ma internetu czy coś :/')
    exit(-1)

if wyniki['support']['pis'] < wyniki['support']['ko']:
    print('Trzeba anulować, bo przegramy...')

Domyślnie, biblioteka zapisuje wyniki w pliku vote-results.json, żeby nie musiała zawsze pobierać strony z internetu - wyniki i tak zmieniają sie co ~tydzień. Zapisane wyniki wyczerpują się po 24 godzinach. Jeśli chcesz to zmienić, możesz:

apis_scraper.scrape(
  no_cache=True,  # Kompletenie wyłącza zapisywanie w pliku - nie polecam
  cache_file_name='dupa12.json',  # Zmienia nazwe pliku
  cache_expire_time=1*60*60
  # Zmienia czas (w sekundach) po którym plik sie wyczerpuje,
  # i strona jest pobierana na nowo
)

EN

Python web scraper for getting Polish political parties support percentage!

This is a simple library which downloads site http://ewybory.eu/sondaze (I hope that administators don't mind ;) and scrapes support percentage of each party from it

You can then use it for some fun creative project ;)

How to use?

  • Install it: pip3 install -U apis-scraper
  • Import it: import apis_scraper
  • Use function apis_scraper.scrape(). It returns a dict, which looks like this:
{
    'success': True,  # If it was succesfull, if not - False
    'support' : {  # Dict with % of support - in float
        'pis': 10.0,
        'ko': 10.0,
        'lewica': 10.0,
        'konfederacja': 10.0,
        'psl': 10.0,
        'polska2050': 10.0
    },  # If something goes wrong, all supports will be -1 and 'success' = False
    'growth': {  # Whether support is growing or falling. -1=falling, 0=stays same, 1=growing
        'pis': 0,
        'ko': 0,
        'lewica': 0,
        'konfederacja': 0,
        'psl': 0,
        'polska2050': 0
    }
}

Example code:

import apis_scraper

wyniki = apis_scraper.scrape()
if wyniki['success'] == False:
    print("Can't do - no internet or something :/")
    exit(-1)

if wyniki['support']['pis'] < wyniki['support']['ko']:
    print('We need to cancel, or we will lose...')

By default, library saves results in vote-results.json file, so it doesn't need to download the site every time - results change ~once a week anyway. Saved results expire after 24h If you want to change this, you can:

apis_scraper.scrape(
  no_cache=True,  # Completley disable cache - not recommended
  cache_file_name='dupa12.json',  # Change file name
  cache_expire_time=1*60*60
  # Change time (in seconds) after file expires, and site is downloaded again
)

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

apis-scraper-1.0.1.tar.gz (4.7 kB view details)

Uploaded Source

Built Distribution

apis_scraper-1.0.1-py3-none-any.whl (8.7 kB view details)

Uploaded Python 3

File details

Details for the file apis-scraper-1.0.1.tar.gz.

File metadata

  • Download URL: apis-scraper-1.0.1.tar.gz
  • Upload date:
  • Size: 4.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.49.0 CPython/3.8.2

File hashes

Hashes for apis-scraper-1.0.1.tar.gz
Algorithm Hash digest
SHA256 fbd37999c28fe0f2e15887ca08a97181e559d7b1e8d4b0965507bf49c4a02329
MD5 71518781337b35b917e889b57742006a
BLAKE2b-256 1251fb408ec4ac67d301a4b2facf25c85e1c811fbf55de9f9c24a8212dc2e514

See more details on using hashes here.

File details

Details for the file apis_scraper-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: apis_scraper-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 8.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.49.0 CPython/3.8.2

File hashes

Hashes for apis_scraper-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 3f6a697949bf54c2ca7e25a014ae402461f03fefb89dc70103028370ea182a1a
MD5 88a98c3cf43915491042ebb93b92d4db
BLAKE2b-256 b62040880f53c529c2aa5cb36f9fa00ce61c4346860756443eac5dd92bdc0da5

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