FMZプラットフォーム上の Python クローラーアプリケーションの予備調査 -- Binance 発表のコンテンツをクローリング

作者: リン・ハーンリディア, 作成日:2022-12-16 14:32:19, 更新日:2023-09-20 11:06:05

img

FMZプラットフォーム上で Python クローラーアプリケーションの予備調査 Binance 発表のコンテンツをクローリング

最近,コミュニティとライブラリでPythonクローラーに関する関連情報がないことを見て,QUANTの全方位開発の精神に基づいて,クローラーに関連するいくつかのコンセプトと知識を簡単に学びました.少し理解した後,クローラー技術の穴がかなり大きいことを発見しました.この記事は,クローラー技術の予備的な研究のためにのみです. クローラー技術についてのFMZ Quant Tradingプラットフォーム上で最も簡単な練習を行います.

需要

新しい株を購読したい人は,常に最初に取引所の通貨情報を入手することを希望しています.人々は常に取引所のウェブサイトを監視することは明らかに非現実的です.その後,あなたは,スクリプトをクリックして取引所の発表ページを監視し,新しい発表を検出する必要があります.

予備調査

スタートするには非常に簡単なプログラムが使用されます (本当に強力なクローラースクリプトははるかに複雑なので,まず時間をかけてください). プログラムのロジックは非常にシンプルです. プログラムが交換の発表ページに常にアクセスし,得られる HTML コンテンツを解析し,特定のラベルコンテンツが更新されているかどうかを検出することができます.

実施コード

しかし,要求が非常にシンプルなので,直接書き込むこともできます.

次の python ライブラリを使用する必要があります.Requestsウェブページにアクセスするために使用されるライブラリです.Bs4ウェブページのHTMLコードを解析するために使用されるライブラリです.

コード:

from bs4 import BeautifulSoup
import requests

urlBinanceAnnouncement = "https://www.binancezh.io/en/support/announcement/c-48?navId=48"  # Binance announcement 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 the requests library to access the url, i.e. the address of the Binance announcement page
    if r.status_code == 200:
        r.encoding = 'utf-8'
        # Log("success! {}".format(url))
        return r.text                          # Return page content text if access is successful
    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 web text into objects
            lastNews_href = soup.find('a', class_='css-1ej4hfo')["href"]   # Find a specific tag, get href
            lastNews = soup.find('a', class_='css-1ej4hfo').get_text()     # Get the content in this tag
            if preNews_href == "":
                preNews_href = lastNews_href
            if preNews_href != lastNews_href:                              # A new announcement is generated when a label change is detected
                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)

オペレーション

img img img

広告の新しい通貨を分析し,新しい株式の購読を自動的に注文します.


関連性

もっと