Spaces:
Build error
Build error
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) |