InvestingPlatform / googleNewsSlackAlerts.py
Chaitanya01's picture
Upload 16 files
919ec8d
raw
history blame
1.73 kB
from GoogleNews import GoogleNews
import pandas as pd
import numpy as np
import slack
import time
from datetime import datetime
# Slack token
SLACK_TOKEN = "xoxb-2557354538181-2570404709172-oNr1bsP5hQoFyOL1HqgqF8lv"
# Initialize the slack client
client = slack.WebClient(token = SLACK_TOKEN)
# Google News Api
googlenews = GoogleNews()
googlenews = GoogleNews(lang='en', region='US')
googlenews = GoogleNews(period='1h')
googlenews.set_encode('utf-8')
arr = []
while True:
# Run this in for loop and is to be run continously
today = datetime.now()
# If its midnight reset the array
if today.hour + today.minute == 0 and today.second<2:
arr = []
# Search for the word crypto in googlenews
googlenews.search("crypto")
# Sort the results
result = googlenews.results(sort=True)
for i in result:
# Now if a news has already been scraped, ignore it
if i["title"] in arr:
continue
if "min" in i["date"]:
# If the time for the news is in minute then only fetch it
if "$" in i["desc"] or "$" in i["title"]:
# If the title or decription contains dollar symbol, then go ahead
if "million" in i["desc"].lower() or "raised" in i["desc"].lower():
# If million or raised keywords are present then go ahead
arr.append(i["title"])
# Post the news on slack bot
client.chat_postMessage(channel = "#bot_alerts",
text = f'{i["datetime"]} {i["date"]} {i["title"]} {i["link"]} {i["desc"]}')
# Clear the google news
googlenews.clear()
# Wait for 30seconds for next query
time.sleep(30)