Penjelajahan awal aplikasi Python Crawler pada Platform FMZ -- Menjelajah Kandungan Pengumuman Binance

Penulis:Lydia, Dicipta: 2022-12-16 14:32:19, Dikemas kini: 2023-09-20 11:06:05

img

Penyiasatan awal aplikasi Python Crawler di Platform FMZ Merakam kandungan Pengumuman Binance

Baru-baru ini, saya melihat bahawa tidak ada maklumat yang relevan mengenai perayap Python dalam komuniti dan perpustakaan, berdasarkan semangat pembangunan semua peringkat QUANT, saya belajar beberapa konsep dan pengetahuan yang berkaitan dengan perayap dengan mudah. Selepas beberapa pemahaman, saya mendapati bahawa pit teknologi crawler agak besar. Artikel ini hanya untuk kajian awal crawler teknologi. Lakukan latihan paling mudah di platform FMZ Quant Trading mengenai teknologi perayap.

Permintaan

Bagi mereka yang suka melanggan saham baru, mereka selalu berharap untuk mendapatkan maklumat mata wang di bursa pada kali pertama. Jelas tidak realistik bagi orang untuk memantau laman web bursa sepanjang masa. Kemudian anda perlu menggunakan skrip perayap untuk memantau halaman pengumuman bursa dan mengesan pengumuman baru supaya anda dapat diberitahu dan diingatkan pada kali pertama.

Penyiasatan Awal

Program yang sangat mudah digunakan untuk memulakan (skrip perayap yang sangat kuat jauh lebih kompleks, jadi ambil masa anda terlebih dahulu). Logik program sangat mudah. Ia membolehkan program mengakses halaman pengumuman pertukaran secara berterusan, menganalisis kandungan HTML yang diperoleh, dan mengesan sama ada kandungan label tertentu dikemas kini.

Kod pelaksanaan

Anda boleh menggunakan beberapa kerangka crawler yang berguna. Walau bagaimanapun, memandangkan keperluan sangat mudah, anda boleh menulisnya secara langsung.

Perpustakaan Python berikut perlu digunakan:Requests, yang boleh difahami sebagai perpustakaan yang digunakan untuk mengakses halaman web.Bs4, yang boleh difahami sebagai perpustakaan yang digunakan untuk menganalisis kod HTML pada halaman web.

Kod:

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)

Operasi

img img img

Ia boleh dilanjutkan, sebagai contoh, apabila pengumuman baru dikesan. Menganalisis mata wang baru dalam pengumuman, dan meletakkan pesanan secara automatik untuk melanggan saham baru.


Berkaitan

Lebih lanjut