avatar of 发明者量化-小小梦 发明者量化-小小梦
fokus pada mesej peribadi
4
fokus pada
1271
Pengikut

Kajian awal tentang aplikasi perangkak Python pada platform FMZ - merangkak kandungan pengumuman Binance

Dicipta dalam: 2021-11-12 17:08:26, dikemas kini pada: 2024-12-04 21:18:45
comments   15
hits   3830

Kajian awal tentang aplikasi perangkak Python pada platform FMZ - merangkak kandungan pengumuman Binance

Kajian awal tentang aplikasi perangkak Python pada platform FMZ - merangkak kandungan pengumuman Binance

Baru-baru ini saya melihat komuniti dan perpustakaan dan tidak menemui maklumat yang relevan tentang perangkak Python, berdasarkan semangat pembangunan menyeluruh sebagai QUANT. Saya mempelajari konsep dan pengetahuan yang berkaitan dengan crawler dengan sangat mudah. Selepas mengetahui lebih lanjut mengenainya, saya mendapati bahawa “teknologi crawler” adalah “lubang” yang agak besar. Mari kita lakukan amalan teknologi perangkak yang paling mudah pada platform dagangan kuantitatif FMZ.

perlukan

Bagi peniaga yang suka melabur dalam syiling baru, mereka sentiasa berharap untuk mendapatkan maklumat tentang penyenaraian syiling di bursa secepat mungkin. Jelas sekali tidak realistik untuk memerhatikan laman web pertukaran secara manual. Kemudian anda perlu menggunakan skrip perangkak untuk memantau halaman pengumuman pertukaran dan mengesan pengumuman baharu supaya anda boleh dimaklumkan dan diingatkan secepat mungkin.

Penerokaan awal

Mari gunakan program yang sangat mudah sebagai permulaan (skrip perangkak yang benar-benar berkuasa adalah lebih rumit, jadi luangkan masa anda). Logik program adalah sangat mudah, iaitu membenarkan program terus mengakses halaman pengumuman pertukaran, menghuraikan kandungan HTML yang diperoleh, dan mengesan sama ada kandungan tag tertentu dikemas kini.

Kod Pelaksanaan

Anda boleh menggunakan beberapa rangka kerja perangkak yang berguna. Walau bagaimanapun, memandangkan keperluannya sangat mudah, ia juga mungkin untuk menulisnya secara langsung.

Perpustakaan Python diperlukan: requests, yang boleh difahami secara ringkas sebagai perpustakaan yang digunakan untuk mengakses halaman web. bs4, yang boleh difahami secara ringkas sebagai perpustakaan yang digunakan untuk menghuraikan kod HTML halaman web.

Kod:

from bs4 import BeautifulSoup
import requests

urlBinanceAnnouncement = "https://www.binancezh.io/en/support/announcement/c-48?navId=48"  # 币安公告页面地址

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)     # 使用requests库访问url,即币安的公告网页地址
    if r.status_code == 200:
        r.encoding = 'utf-8'
        # Log("success! {}".format(url))
        return r.text                          # 访问成功的话返回网页内容文本
    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')                       # 把网页文本解析为对象
            lastNews_href = soup.find('a', class_='css-1ej4hfo')["href"]   # 查找特定的标签,获取href
            lastNews = soup.find('a', class_='css-1ej4hfo').get_text()     # 获取这个标签中的内容
            if preNews_href == "":
                preNews_href = lastNews_href
            if preNews_href != lastNews_href:                              # 检测到标签发生变动,即有新的公告产生
                Log("New Cryptocurrency Listing update!")                  # 打印提示信息
                preNews_href = lastNews_href
        LogStatus(_D(), "\n", "preNews_href:", preNews_href, "\n", "news:", lastNews)
        Sleep(1000 * 10)

lari

Kajian awal tentang aplikasi perangkak Python pada platform FMZ - merangkak kandungan pengumuman Binance

Kajian awal tentang aplikasi perangkak Python pada platform FMZ - merangkak kandungan pengumuman Binance

Ia juga boleh dilanjutkan untuk mengesan apabila pengumuman baharu muncul, contohnya. Analisis mata wang baharu dalam pengumuman dan buat pesanan secara automatik untuk transaksi baharu.