FMZ 플랫폼에서 파이썬 크롤러 응용 프로그램의 예비 탐색 -- 바이낸스 발표의 콘텐츠를 크롤

저자:리디아, 창작: 2022-12-16 14:32:19, 업데이트: 2023-09-20 11:06:05

img

FMZ 플랫폼에서 파이썬 크롤러 애플리케이션의 예비 탐색

최근에, 나는 커뮤니티와 라이브러리에서 파이썬 크롤러에 대한 관련 정보가 없다는 것을 보았고, QUANT의 전면 개발 정신에 따라, 나는 단순히 크롤러와 관련된 몇 가지 개념과 지식을 배웠습니다. 약간의 이해 후에, 나는 크롤러 기술의 pit이 상당히 크다는 것을 발견했습니다. 이 기사는 단지 크롤러 기술의 예비 연구를위한 것입니다. 크롤러 기술에 대한 FMZ 퀀트 트레이딩 플랫폼에서 가장 간단한 연습을 수행하십시오.

수요

새로운 주식을 구독하는 것을 좋아하는 사람들에게는 항상 거래소에서 처음으로 통화 정보를 얻기를 희망합니다. 사람들이 항상 거래소 웹 사이트를 모니터링하는 것은 분명히 비현실적입니다. 그런 다음 크롤러 스크립트를 사용하여 거래소 발표 페이지를 모니터링하고 새로운 발표를 감지하여 첫 번째 알림을 받고 상기시킬 수 있습니다.

예비 탐사

시작하기 위해 매우 간단한 프로그램이 사용된다 (정말 강력한 크롤러 스크립트는 훨씬 더 복잡하다, 그래서 먼저 시간을 가져라). 프로그램 논리는 매우 간단하다. 그것은 프로그램이 지속적으로 교환의 발표 페이지에 액세스하고, 얻은 HTML 콘텐츠를 분석하고, 특정 레이블 콘텐츠가 업데이트되었는지 검출 할 수 있습니다.

실행 코드

몇 가지 유용한 크롤러 프레임워크를 사용할 수 있습니다. 그러나 요구 사항이 매우 간단하다는 것을 고려하면 직접 작성할 수 있습니다.

다음의 파이썬 라이브러리를 사용해야 합니다.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

예를 들어, 새로운 발표가 감지되면 연장 될 수 있습니다. 발표에 새로운 통화를 분석하고 새로운 주식을 가입하도록 자동으로 주문합니다.


관련

더 많은