Skip to content

Latest commit

 

History

History
135 lines (127 loc) · 4.19 KB

README.md

File metadata and controls

135 lines (127 loc) · 4.19 KB

alt text    alt text    alt text    alt text    alt text    alt text    alt text    alt text    alt text    alt text    alt text

PortfolioScrapers

This repository contains Python3 scripts for scraping your account information from different investment platforms. If a platform consists of individual projects the current value of the project will be found along with the total platform value(as a summation of project values). Supports email notifications send from a supplied Gmail to a receiver mail if the scraper failes to scrape a platform.

Currently supportet platforms

  • BrickShare
  • Kameo
  • Nordnet
  • SaxoInvestor
  • Mintos (NB! Only works with Two-factor authentication Deactivated) Mintos is sadly not working at the moment due to the introduction of CAPTCHA on their website.
  • Peerberry
  • Grupeer Grupeer is sadly not working at the moment due to the introduction of CAPTCHA on their website.
  • FastInvest (NB! Only works with Two-factor authentication Deactivated)
  • Crowdestor
  • Kuetzal (NB! Out of business)
  • Iuvo

Prerequisites!

  • Python 3
  • pip3
  • Install Selenium for Python3
  • Install a Chrome/Chromium webdriver and supply the absolute path to the webdriver in utils/browser.py
  • Install pyvirtualdisplay by running: pip3 install pyvirtualdisplay
  • Install xvfb by running: apt-get install xvfb

Setup scraper

  1. Create the file config.json in the root of the project (alongside portfolio_scraper.py):
{
	"platforms_to_scrape": [
		"brickshare",
		"kameo",
		"nordnet",
		"saxoinvestor",
		"mintos",
		"peerberry",
		"grupeer",
		"fastinvest",
		"crowdestor",
		"kuetzal",
		"iuvo"
	],
	"alert_email": {
		"sender": {
			"usr": "some@gmail.com",
			"pwd": ""
		},
		"receiver": ""
	},
	"path_to_persist_data": "absolute/path/to/persist/data/",
	"accumulated_path": "absolute/path/to/accumulated/data/",
	"brickshare": {
		"usr": "",
		"pwd": "",
		"account": "some_account_id",
		"currency": "dkk",
		"projects": [
			"project-id"
		]
	},
	"kameo": {
		"usr": "",
		"pwd": "",
		"account": "some_account_id",
		"currency": "dkk"
	},
	"nordnet": {
		"usr": "",
		"pwd": "",
		"account": "some_account_id",
		"currency": "dkk"
	},
	"saxoinvestor": {
		"usr": "",
		"pwd": "",
		"account": "some_account_id",
		"currency": "dkk"
	},
	"mintos": {
		"usr": "",
		"pwd": "",
		"account": "mintos9623564",
		"currency": "eur"
	},
	"peerberry": {
		"usr": "",
		"pwd": "",
		"account": "some_account_id",
		"currency": "eur"
	},
	"grupeer": {
		"usr": "",
		"pwd": "",
		"account": "some_account_id",
		"currency": "eur"
	},
	"fastinvest": {
		"usr": "",
		"pwd": "",
		"account": "some_account_id",
		"currency": "eur"
	},
	"crowdestor": {
		"usr": "",
		"pwd": "",
		"account": "some_account_id",
		"currency": "eur"
	},
	"kuetzal": {
		"usr": "",
		"pwd": "",
		"account": "some_account_id",
		"currency": "eur"
	},
	"iuvo": {
		"usr": "",
		"pwd": "",
		"account": "some_account_id",
		"currency": "eur"
	}
}

(NB! alert_email.sender must be a Gmail)

RUN

While at the root of the project, run the following command:

python3 portfolio_scraper.py