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