Dependency | Description |
---|---|
beautifulsoup4 | Parsing HTML and XML documents |
discord.py | Sending message to discord server |
python-oracledb | Oracle database connection |
- Install Oracle database
- Execute
create.sql
- Edit
config.ini
, change Oracle login credentials and logger file directory - Create discord account and server, set up your discord chatbot
- Create environment variables using this command:
SET
DISCORD_CHATBOT_TOKEN=<your_chatbot_token>
DISCORD_TEXT_TO_SPEECH_CHANNEL_ID=<the_channel_id_for_text_to_speech>
DISCORD_YESTERDAY_TOP_GAINER_SCRAPER_HISTORY_CHANNEL_ID=<the_channel_id_for_displaying_scraper_history>
CHATBOT_ERROR_LOG=<the_channel_id_for_displaying_error_log>
- Run
py -m venv VENV_NAME
to create project virtual environment - Go to venv directory, then execute
activate
- Run
pip install -r requirements.txt
to install dependencies - Debug in your IDE
- Run
pip install pyinstaller
- Run
pyinstaller main.spec
to export this project as the executable file indist
folder
- Run
pip3 freeze > requirements.txt
Scrape information (ticker symbol, close and volume, etc.) of top 20 U.S market gainers in previous day from Finviz. Notifications will be sent to discord server to confirm if data retrieval is succeeded or failed. The data will be analysed by stock_scanner
![finviz](https://private-user-images.githubusercontent.com/85852490/326148991-8e34c0c1-bb07-452d-aeee-5a3d0724c98d.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkzMjM1OTIsIm5iZiI6MTczOTMyMzI5MiwicGF0aCI6Ii84NTg1MjQ5MC8zMjYxNDg5OTEtOGUzNGMwYzEtYmIwNy00NTJkLWFlZWUtNWEzZDA3MjRjOThkLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTIlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEyVDAxMjEzMlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTRlNzk5ZjA2NWU3OWE1OWYxNWU5YmUzNjEwZDg1Zjk3NTJiNmRiYzE1YjViN2VmMzFiZDhlNjZkN2QxMjQyOTkmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.IjoihFZUWXcSLP4Bsn7qlKHOSq5MDnyf1gGu4QgexJM)