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
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.
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.
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)
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.