Exploración inicial de la aplicación de Python Crawler en FMZ Crawling Contenido del anuncio de Binance

El autor:No lo sé., Creado: 2022-04-08 15:47:43, Actualizado: 2022-04-13 10:07:13

Exploración inicial de la aplicación de Python Crawler en FMZ Crawling Contenido del anuncio de Binance

Recientemente, miré a través de nuestros Foros y Digest, y no hay información relevante sobre el rastreador de Python. Basado en el espíritu de desarrollo integral de FMZ, simplemente fui a aprender sobre los conceptos y el conocimiento del rastreador. Después de aprender al respecto, descubrí que todavía hay más por aprender sobre la técnica del rastreador. Este artículo es solo una exploración preliminar de la técnica del rastreador, y una práctica más simple de la técnica del rastreador en la plataforma comercial FMZ Quant.

Demandas

Para los comerciantes que les gusta el comercio de IPO, siempre quieren obtener la información de lista de la plataforma tan pronto como sea posible. Obviamente no es realista mirar manualmente un sitio web de la plataforma todo el tiempo.

La exploración inicial

Utilice un programa muy simple como comienzo (los scripts de rastreador realmente potentes son mucho más complejos, así que tómese su tiempo). La lógica del programa es muy simple, es decir, deje que el programa visite continuamente la página de anuncio de una plataforma, analice el contenido HTML adquirido y detecte si el contenido de una etiqueta especificada se actualiza.

Implementación del código

Puedes usar algunas estructuras de rastreador útiles.

Las bibliotecas de Python que se utilizarán:requests, que puede considerarse simplemente como la biblioteca utilizada para acceder a páginas web.bs4, que puede considerarse simplemente como la biblioteca utilizada para analizar el código HTML de las 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 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)

Operación

img

img

Incluso puede extenderlo, como la detección de nuevos anuncios, análisis de símbolos de divisas recién listados y orden automático de operaciones de IPO.


Más.