Eksplorasi awal aplikasi Python Crawler di Platform FMZ -- Merayapi Konten Pengumuman Binance

Penulis:Lydia, Dibuat: 2022-12-16 14:32:19, Diperbarui: 2023-09-20 11:06:05

img

Eksplorasi awal aplikasi Python Crawler di Platform FMZ Merayapi Konten Pengumuman Binance

Baru-baru ini, saya melihat bahwa tidak ada informasi yang relevan tentang crawler Python di komunitas dan perpustakaan, berdasarkan semangat pengembangan all-round QUANT, saya belajar beberapa konsep dan pengetahuan yang berkaitan dengan crawler dengan mudah. Setelah beberapa pemahaman, saya menemukan bahwa pit dari crawler technology cukup besar. Artikel ini hanya untuk studi awal crawler technology. Lakukan latihan paling sederhana di platform FMZ Quant Trading tentang teknologi crawler.

Permintaan

Bagi mereka yang suka berlangganan saham baru, mereka selalu berharap untuk mendapatkan informasi mata uang di bursa pada saat pertama kali. Jelas tidak realistis bagi orang untuk memantau situs web bursa sepanjang waktu. Kemudian Anda perlu menggunakan skrip perayap untuk memantau halaman pengumuman bursa dan mendeteksi pengumuman baru sehingga Anda dapat diberitahu dan diingatkan pada saat pertama kali.

Eksplorasi Awal

Sebuah program yang sangat sederhana digunakan untuk memulai (script crawler yang sangat kuat jauh lebih kompleks, jadi luangkan waktu Anda terlebih dahulu). Logika program sangat sederhana. Hal ini memungkinkan program untuk mengakses halaman pengumuman pertukaran secara konstan, menganalisis konten HTML yang diperoleh, dan mendeteksi apakah konten label tertentu diperbarui.

Kode pelaksanaan

Anda dapat menggunakan beberapa kerangka crawler yang berguna. Namun, mengingat persyaratan sangat sederhana, Anda dapat menulisnya secara langsung.

Perpustakaan python berikut harus digunakan:Requests, yang dapat dipahami sebagai perpustakaan yang digunakan untuk mengakses halaman web.Bs4, yang dapat dipahami sebagai perpustakaan yang digunakan untuk menganalisis kode HTML di halaman web.

Kode:

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

Ini dapat diperpanjang, misalnya, ketika pengumuman baru terdeteksi Menganalisis mata uang baru dalam pengumuman, dan menempatkan pesanan secara otomatis untuk berlangganan saham baru.


Berkaitan

Lebih banyak