Недавно я просмотрел наши форумы и Дайджест, и нет никакой соответствующей информации о сканере Python. Основываясь на духе FMZ всеобъемлющего развития, я просто пошел узнать о концепциях и знаниях сканера. После того, как я узнал об этом, я обнаружил, что еще многое предстоит узнать о
Для трейдеров, которые любят торговлю IPO, они всегда хотят получить информацию о листинге платформы как можно скорее. Очевидно, нереально постоянно ручно смотреть на веб-сайт платформы. Затем вам нужно использовать скрипт сканера для мониторинга страницы объявлений платформы и обнаружения новых объявлений, чтобы быть уведомленным и напомненным в первый раз.
Используйте очень простую программу в качестве начала (действительно мощные скрипты сканеров намного сложнее, поэтому не торопитесь). Логика программы очень проста, то есть позвольте программе непрерывно посещать страницу объявлений платформы, анализировать полученный HTML-контент и обнаруживать, обновляется ли содержание указанного ярлыка.
Вы можете использовать некоторые полезные структуры сканера. Учитывая, что требование очень простое, вы также можете писать напрямую.
Библиотеки Python, которые будут использоваться:requests
, который можно рассматривать просто как библиотеку, используемую для доступа к веб-страницам.bs4
, который можно рассматривать просто как библиотеку, используемую для анализа HTML-кода веб-страниц.
Код:
from bs4 import BeautifulSoup
import requests
urlBinanceAnnouncement = "https://www.binancezh.io/en/support/announcement/c-48?navId=48" # Binance announcement web page address
def openUrl(url):
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.108 Safari/537.36'}
r = requests.get(url, headers=headers) # use "requests" library to access url, namely the Binance announcement web page address
if r.status_code == 200:
r.encoding = 'utf-8'
# Log("success! {}".format(url))
return r.text # if the access succeeds, return the text of the page content
else:
Log("failed {}".format(url))
def main():
preNews_href = ""
lastNews = ""
Log("watching...", urlBinanceAnnouncement, "#FF0000")
while True:
ret = openUrl(urlBinanceAnnouncement)
if ret:
soup = BeautifulSoup(ret, 'html.parser') # parse the page text into objects
lastNews_href = soup.find('a', class_='css-1ej4hfo')["href"] # find specified lables, to obtain href
lastNews = soup.find('a', class_='css-1ej4hfo').get_text() # obtain the content in the label
if preNews_href == "":
preNews_href = lastNews_href
if preNews_href != lastNews_href: # the label change detected, namely the new announcement generated
Log("New Cryptocurrency Listing update!") # print the prompt message
preNews_href = lastNews_href
LogStatus(_D(), "\n", "preNews_href:", preNews_href, "\n", "news:", lastNews)
Sleep(1000 * 10)
Вы даже можете расширить его, например, обнаружение новых объявлений, анализ новых валютных символов и автоматический заказ торговли IPO.