최근에, 나는 커뮤니티와 라이브러리에서 파이썬 크롤러에 대한 관련 정보가 없다는 것을 보았고, QUANT의 전면 개발 정신에 따라, 나는 단순히 크롤러와 관련된 몇 가지 개념과 지식을 배웠습니다. 약간의 이해 후에, 나는
새로운 주식을 구독하는 것을 좋아하는 사람들에게는 항상 거래소에서 처음으로 통화 정보를 얻기를 희망합니다. 사람들이 항상 거래소 웹 사이트를 모니터링하는 것은 분명히 비현실적입니다. 그런 다음 크롤러 스크립트를 사용하여 거래소 발표 페이지를 모니터링하고 새로운 발표를 감지하여 첫 번째 알림을 받고 상기시킬 수 있습니다.
시작하기 위해 매우 간단한 프로그램이 사용된다 (정말 강력한 크롤러 스크립트는 훨씬 더 복잡하다, 그래서 먼저 시간을 가져라). 프로그램 논리는 매우 간단하다. 그것은 프로그램이 지속적으로 교환의 발표 페이지에 액세스하고, 얻은 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)
예를 들어, 새로운 발표가 감지되면 연장 될 수 있습니다. 발표에 새로운 통화를 분석하고 새로운 주식을 가입하도록 자동으로 주문합니다.