Erste Erforschung der Anwendung von Python Crawler auf FMZ Crawling Binance Ankündigungsinhalt

Schriftsteller:- Ich bin ein Idiot., Erstellt: 2022-04-08 15:47:43, Aktualisiert: 2022-04-13 10:07:13

Erste Erforschung der Anwendung von Python Crawler auf FMZ Crawling Binance Ankündigungsinhalt

Vor kurzem habe ich durch unsere Foren und Digest gesucht, und es gibt keine relevanten Informationen über Python-Crawler. Basierend auf dem FMZ-Geist der umfassenden Entwicklung ging ich einfach, um über die Konzepte und das Wissen von Crawler zu lernen. Nachdem ich darüber gelernt hatte, fand ich heraus, dass es noch mehr über crawler-Technik zu lernen gibt. Dieser Artikel ist nur eine vorläufige Erforschung von crawler-Technik und eine einfachste Praxis der Crawler-Technik auf der FMZ Quant-Handelsplattform.

Nachfrage

Für Händler, die den Börsengang mögen, möchten sie immer so schnell wie möglich die Plattform-Listing-Informationen erhalten. Es ist offensichtlich unrealistisch, die ganze Zeit manuell auf eine Plattform-Website zu starren. Dann müssen Sie das Crawler-Skript verwenden, um die Ankündigungsseite der Plattform zu überwachen und neue Ankündigungen zu erkennen, um beim ersten Mal benachrichtigt und erinnert zu werden.

Erste Erkundungen

Verwenden Sie ein sehr einfaches Programm als Start (wirklich leistungsstarke Crawler-Skripte sind viel komplexer, also nehmen Sie sich Zeit). Die Programmlogik ist sehr einfach, das heißt, lassen Sie das Programm kontinuierlich die Ankündigungsseite einer Plattform besuchen, den erworbenen HTML-Inhalt analysieren und erkennen, ob der Inhalt eines angegebenen Labels aktualisiert wird.

Umsetzung des Codes

Da die Anforderung sehr einfach ist, können Sie auch direkt schreiben.

Die zu verwendenden Python-Bibliotheken:requests, die einfach als Bibliothek betrachtet werden kann, mit der auf Webseiten zugegriffen wird.bs4, die einfach als Bibliothek betrachtet werden kann, die zum Parsen des HTML-Codes von Webseiten verwendet wird.

Code:

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)

Betrieb

img

img

Sie können es sogar erweitern, wie zum Beispiel die Erkennung neuer Ankündigungen, die Analyse von neu gelisteten Währungssymbolen und die automatische Bestellung von Börsengängen.


Mehr