Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python
- __author__ = 'Martin Gill'
- from bs4 import BeautifulSoup
- import requests
- import csv
- import re
- url = "https://www.icscards.nl/abnamrogb/mijn"
- loginUrl = "https://www.icscards.nl/pkmslogin.form"
- payload = {'username': 'username', 'password': 'password', 'login-form-type': 'pwd'}
- s = requests.Session()
- r = s.post(loginUrl, payload, verify=False)
- data = r.content
- soup = BeautifulSoup(data)
- print(soup.prettify())
- r = s.get(url)
- data = r.content
- soup = BeautifulSoup(data)
- table = soup.select("table.statement-table")[0]
- headers = table.select("th")
- outputRows = []
- rows = table.select("tr.transaction-row.statement-current")
- for row in rows:
- cols = row.select("td")
- rowItems = []
- for col in cols:
- # Replace newlines with whitespace
- text = col.getText().replace("\n", " ").strip()
- rowItems.append(text)
- # skips the "header" row
- if len(rowItems) > 0:
- # Remove commas
- rowItems[5] = rowItems[5].replace(',', '')
- # Eliminate currency symbol and other crap
- rowItems[5] = re.sub(r"^.*?([0-9.]+).*?$", r"\1", rowItems[5])
- # Credit/Debit handling
- if re.match(r"Debit", rowItems[4]):
- rowItems[5] = '-' + rowItems[5]
- print(rowItems);
- outputRows.append(rowItems)
- with open('test.csv', 'w') as csvfile:
- writer = csv.writer(csvfile,
- delimiter=',',
- quotechar='"',
- quoting=csv.QUOTE_MINIMAL)
- writer.writerows(outputRows)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement