1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
import os, requests
import pandas as pd
from bs4 import BeautifulSoup
from requests import get
from discord_webhook import DiscordWebhook
# Webhook settings
url_wb = os.environ.get('DISCORD_WH')
# Data for the scrap
url = "https://www.binance.com/en/support/announcement"
response = get(url)
soup = BeautifulSoup(response.text, 'html.parser')
news_list = soup.find_all(class_ = 'css-sbrje5')
# Create a bag of key words for getting matches
key_words = ['list', 'token sale', 'open trading', 'opens trading', 'perpetual', 'FTX', 'twt', 'trust']
# Open old database file
path = "/home/pi/db.xlsx"
df = pd.read_excel(path)
# Empty list
updated_list = []
for news in news_list:
article_text = news.text
# Check for matchings
for item in key_words:
if (item in article_text.lower()) and (article_text not in df.values):
article_link = 'https://www.binance.com' + news.get('href')
msg = article_text + '\n' + article_link
updated_list.append([article_text, article_link])
print(article_text)
# Send message to Discord server
webhook = DiscordWebhook(url=url_wb, content=msg)
response = webhook.execute()
# Export updated news to Excel
cols = ['Text', 'Link']
df = df.append(pd.DataFrame(updated_list, columns=cols), ignore_index = True)
df.to_excel(path, index = False)
|