Exploração inicial da aplicação do Python Crawler no FMZ Crawling Binance Anúncio de conteúdo

Autora:Ninabadass, Criado: 2022-04-08 15:47:43, Atualizado: 2022-04-13 10:07:13

Exploração inicial da aplicação do Python Crawler no FMZ Crawling Binance Anúncio de conteúdo

Recentemente, eu olhei através de nossos fóruns e Digest, e não há informações relevantes sobre o rastreador Python. Com base no espírito de desenvolvimento abrangente da FMZ, eu fui simplesmente aprender sobre os conceitos e conhecimentos do rastreador. Depois de aprender sobre isso, descobri que ainda há mais a aprender sobre técnica do rastreador. Este artigo é apenas uma exploração preliminar da técnica do rastreador, e uma prática mais simples da técnica do rastreador na plataforma de negociação FMZ Quant.

Demandas

Para os comerciantes que gostam de negociação de IPO, eles sempre querem obter as informações de listagem da plataforma o mais rápido possível. É obviamente irrealista olhar manualmente para um site da plataforma o tempo todo.

Exploração inicial

Use um programa muito simples para começar (scriptos de rastreador realmente poderosos são muito mais complexos, por isso tome seu tempo). A lógica do programa é muito simples, ou seja, deixe o programa visitar continuamente a página de anúncios de uma plataforma, analisar o conteúdo HTML adquirido e detectar se o conteúdo de um rótulo especificado é atualizado.

Implementação do código

Você pode usar algumas estruturas de rastreador úteis. Considerando que a demanda é muito simples, você também pode escrever diretamente.

As bibliotecas Python a utilizar:requests, que pode ser considerada simplesmente como a biblioteca utilizada para aceder a páginas web.bs4, que pode ser simplesmente considerado como a biblioteca usada para analisar o código HTML das páginas da 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)

Operação

img

img

Você pode até estendê-lo, como a detecção de novos anúncios, análise de novos símbolos de moeda listados e ordenação automática de negociação de IPO.


Mais.