Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/lyqht/sg-bill-org-scraper
Web scraper to get Singapore Billing Organisations
https://github.com/lyqht/sg-bill-org-scraper
jupyter-notebook numpy pandas python3 rpa scraping tagui
Last synced: 25 days ago
JSON representation
Web scraper to get Singapore Billing Organisations
- Host: GitHub
- URL: https://github.com/lyqht/sg-bill-org-scraper
- Owner: lyqht
- License: mit
- Created: 2022-05-09T12:47:12.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2022-05-10T15:34:43.000Z (over 2 years ago)
- Last Synced: 2024-11-09T20:26:33.633Z (3 months ago)
- Topics: jupyter-notebook, numpy, pandas, python3, rpa, scraping, tagui
- Language: Jupyter Notebook
- Homepage:
- Size: 557 KB
- Stars: 2
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# sg-bill-org-scraper
This is a web scraper to get Singapore Billing Organisations. Scraping is performed with [RPA Python](https://github.com/tebelorg/RPA-Python) and [pandas](https://github.com/pandas-dev/pandas).## Context
There are few places to find out Singapore Billing Organisations:
- https://www.posb.com.sg/personal/deposits/pay-with-ease/local-bill-payments/giro-payee-organisations.page
- https://e-station2.axs.com.sg/In this project, I have chosen to scrape the POSB website because its DOM structure is easier :stuck_out_tongue:
Side note on AXS website for curious peeps
> I did attempt to scrape the AXS website initially, but you can check out the notebook to see how ugly the syntax has to be. The DOM structure is super strange (there's nested tables inside tables even though they look nothing like it 😆)
## Results
**9 Categories**, **104 Billing organisations** found.
An example:
| Billing Organisation | Bill Reference Number | Field Length | Example |
| -- | -- | -- | -- |
|StarHub Ltd | Account No. with StarHub Ltd as displayed on your right hand corner of your bill | Numeric with decimals, ending with a letter. | Eg: 1.12345678A,Telecommunications and UtilitiesYou can refer to [payees_with_category.xlsx](./payees_with_category.xlsx) or [payees_with_category.csv](./payees_with_category.csv), whichever file format you prefer.
### Using the data in your project
To use it in your project, you can either download the file locally, or you can fetch it at the [raw file on GitHub](https://raw.githubusercontent.com/lyqht/sg-bill-org-scraper/main/payees_with_category.csv).
An upcoming example will be added soon to the README!
## Setup instructions
If you want to try out the notebook, create your own venv and activate it. The activate command may differ depending if you're using Mac or other platforms.
```bash
python3 -m venv .venv
source .venv/bin/activate
```Install the necessary packages
```
pip3 install -r requirements.txt
```To start JupyterLab and see the notebook, run
```bash
jupyterlab
```