Get current parliament bills from Australian governments.
Project description
Aus Bills
This is a package is for obtaining parliament bills for Australian governments.
Install via pip
pip install ausbills
Current governments that are supported:
- Australian Federal Government
- Australian Capital Territory Government
Australian Federal Government
This module had methods for scraping the Australian Federal Parliament website, using beautiful soup.
The bills are scraped to get data from both the house and the senate:
from ausbills.federal_parliment import get_all_bills, Bill
all_bills = get_all_bills()
print(all_bills)
bill_five = all_bills[5]
all_bills.data
is a list of all current bills and some basic data in the form of a dict. The rest of the data may be obtained via the Bill() object.
bill = Bill(bill_id=bill_five["id"])
print(bill.summary)
print(bill.sponsor)
print(bill.bill_text_links)
print(bill.explanatory_memoranda_links)
or you can use the url string to create an instance of Bill():
bill = Bill(bill_five["url"])
or the id
bill = Bill(bill_five["id"])
You may also change the date format:
bill = Bill(bill_five["id"],"DD/MM/YYYY")
and you can get the data dump as a dict:
bill.data
NSW Government
Using the nsw_parliament
module, you can scrape bills from the NSW Parliament website
Use nsw_all_bills
to return a list of bill dicts (each dict represents an individual bill).
from ausbills.nsw_parliament import nsw_all_bills
print(nsw_all_bills)
print('The first bill returned: ' + nsw_all_bills[0])
You can return more data on an individual bill using the nsw_Bill object:
from ausbills.nsw_parliament import nsw_all_bills, nsw_Bill
all_the_bills_mate = nsw_all_bills
print(nsw_Bill(all_the_bills_mate).status)
ACT Government
This module allows you to scrape bill data from the Australian Capital Territory Legislative Assembly website using beautiful soup.
Similarly to the Federal Parliament and WA modules, you can scrape all the bills like this:
from ausbills.act_parliament import act_all_bills as all_bills
print(all_bills)
print('The 5th Bill is ' + all_bills[4])
You can interact with individual bills with the act_Bill() object:
all_the_bills = all_bills
some_bill = act_Bill(all_the_bills[5])
print(some_bill.title)
Queensland Government
This module integrates with the Queensland government's legislation site to pull bills.
Queensland is a bit different to the other jurisdictions' modules, because it returns its bills in a JSON format. However returning the bills still works the same way:
Return all bills in a list:
from ausbills.qld_parliament import qld_all_bills, qld_Bill
bills_list = qld_all_bills
print(bills_list[45])
To get more data from an individual bill, use the qld_Bill class:
from aubills.qld_parliament import qld_all_bills, qld_Bill
some_bill_mate = qld_all_bills[72]
bill_obj = qld_Bill(some_bill_mate)
# Print the Explanatory Note URL:
print('Click me:\n' + bill_obj.explanatory_note)
Contributing
We mostly use BeautifulSoup to scrape the bills from the Bills websites. so make sure you become familiar with the docs here.
We use json for the Queensland site, so get familiar with that here:
Fork the repo and install requirements
pip3 install -r requirements.txt
Each state should their own bills and corresponding website. Add a python file for a new state in the /ausbills dir. the python file should have the naming convention: wa_parliment.py
for Western Australia for example. Make sure we all agree on method/object/output conventions (use federal_bills as a guide). Once you are happy, update the README on method usage and make a Pull Request.
Upgrade package
Change VERSION in setup.py, then:
git tag -a 0.1.0 -m "update version 0.1.0"
git push origin 0.1.0
Todo
- Write better usage docs
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 ausbills-0.8.0.tar.gz
.
File metadata
- Download URL: ausbills-0.8.0.tar.gz
- Upload date:
- Size: 22.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.8.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | bd074d049c9812bbb2c13f033c2f27895ced554ed71ba5976125547005b4fb50 |
|
MD5 | 2c54042f50b420b359b4e3c1cbe707ad |
|
BLAKE2b-256 | 957046aebb4f1e3ba3ebb0c9ed1988af2d78c42db37fff58ef2eb84c2afbe049 |
File details
Details for the file ausbills-0.8.0-py3-none-any.whl
.
File metadata
- Download URL: ausbills-0.8.0-py3-none-any.whl
- Upload date:
- Size: 26.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.8.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 23228804cf6473ecbe3a3e0c0cb21fe356d3775e4841fd3ed5ae2a3e2dba8923 |
|
MD5 | 765e677f2c8e67dd35b25e8e77a95797 |
|
BLAKE2b-256 | 95352788ac1324e9ea2ee8c5952591925baf7cfae986d5922a701eb9f18abfc5 |