Recientemente, vi que no hay información relevante sobre los rastreadores de Python en la comunidad y la biblioteca, basándome en el espíritu de desarrollo integral de QUANT, aprendí algunos conceptos y conocimientos relacionados con los rastreadores simplemente. Después de un poco de comprensión, encontré que el
Para aquellos que les gusta suscribir nuevas acciones, siempre esperan obtener la información de la moneda en el intercambio la primera vez. Obviamente no es realista que la gente monitoree el sitio web del intercambio todo el tiempo. Luego debe usar el script de rastreo para monitorear la página de anuncio del intercambio y detectar nuevos anuncios para que pueda ser notificado y recordado la primera vez.
Un programa muy simple se utiliza para comenzar (un script de rastreador realmente poderoso es mucho más complejo, así que tómate tu tiempo primero). La lógica del programa es muy simple. Permite al programa acceder a la página de anuncios del intercambio constantemente, analizar el contenido HTML obtenido y detectar si el contenido de la etiqueta específica se actualiza.
Puede utilizar algunos frameworks de rastreo útiles. Sin embargo, considerando que los requisitos son muy simples, puede escribirlos directamente.
Se deben utilizar las siguientes bibliotecas de Python:Requests
, que puede entenderse simplemente como una biblioteca utilizada para acceder a páginas web.Bs4
, que se puede entender simplemente como una biblioteca utilizada para analizar el código HTML en páginas web.
Código:
from bs4 import BeautifulSoup
import requests
urlBinanceAnnouncement = "https://www.binancezh.io/en/support/announcement/c-48?navId=48" # Binance announcement 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 the requests library to access the url, i.e. the address of the Binance announcement page
if r.status_code == 200:
r.encoding = 'utf-8'
# Log("success! {}".format(url))
return r.text # Return page content text if access is successful
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 web text into objects
lastNews_href = soup.find('a', class_='css-1ej4hfo')["href"] # Find a specific tag, get href
lastNews = soup.find('a', class_='css-1ej4hfo').get_text() # Get the content in this tag
if preNews_href == "":
preNews_href = lastNews_href
if preNews_href != lastNews_href: # A new announcement is generated when a label change is detected
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)
Se puede extender, por ejemplo, cuando se detecta un nuevo anuncio.