Penjelajahan Awal Menggunakan Python Crawler di FMZ Penjelajahan Kandungan Pengumuman Binance

Penulis:Ninabadass, Dicipta pada: 2022-04-08 15:47:43, Dikemas kini pada: 2022-04-13 10:07:13

Penjelajahan Awal Menggunakan Python Crawler di FMZ Penjelajahan Kandungan Pengumuman Binance

Baru-baru ini, saya melihat melalui Forum dan Digest kami, dan tidak ada maklumat yang relevan mengenai crawler Python. Berdasarkan semangat FMZ pembangunan komprehensif, saya hanya belajar tentang konsep dan pengetahuan crawler. Setelah belajar tentangnya, saya mendapati bahawa masih ada lebih banyak yang perlu dipelajari mengenai teknik crawler. Artikel ini hanyalah penerokaan awal teknik crawler, dan amalan paling mudah teknik crawler di platform perdagangan FMZ Quant.

Permintaan

Bagi peniaga yang suka perdagangan IPO, mereka selalu ingin mendapatkan maklumat penyenaraian platform secepat mungkin. Jelas tidak realistik untuk menatap laman web platform secara manual sepanjang masa. Kemudian anda perlu menggunakan skrip perayap untuk memantau halaman pengumuman platform, dan mengesan pengumuman baru untuk dimaklumkan dan diingatkan pada kali pertama.

Penjelajahan Awal

Gunakan program yang sangat mudah sebagai permulaan (script perayap yang benar-benar kuat jauh lebih kompleks, jadi ambil masa anda). Logik program sangat mudah, iaitu, biarkan program terus melawat halaman pengumuman platform, menganalisis kandungan HTML yang diperoleh, dan mengesan sama ada kandungan label yang ditentukan dikemas kini.

Pelaksanaan Kod

Anda boleh menggunakan beberapa struktur crawler yang berguna. memandangkan permintaan adalah sangat mudah, anda juga boleh menulis secara langsung.

Perpustakaan Python yang akan digunakan:requests, yang boleh dianggap sebagai perpustakaan yang digunakan untuk mengakses halaman web.bs4, yang boleh dianggap sebagai perpustakaan yang digunakan untuk menganalisis kod HTML halaman web.

Kod:

from bs4 import BeautifulSoup
import requests

urlBinanceAnnouncement = "https://www.binancezh.io/en/support/announcement/c-48?navId=48"  # Binance announcement web 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 "requests" library to access url, namely the Binance announcement web page address 

    if r.status_code == 200:
        r.encoding = 'utf-8'
        # Log("success! {}".format(url))
        return r.text                          # if the access succeeds, return the text of the page content  
    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 the page text into objects 
            lastNews_href = soup.find('a', class_='css-1ej4hfo')["href"]   # find specified lables, to obtain href
            lastNews = soup.find('a', class_='css-1ej4hfo').get_text()     # obtain the content in the label 
            if preNews_href == "":
                preNews_href = lastNews_href
            if preNews_href != lastNews_href:                              # the label change detected, namely the new announcement generated
                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

Anda juga boleh memperluaskannya, seperti pengesanan pengumuman baru, analisis simbol mata wang yang baru disenaraikan, dan pesanan automatik perdagangan IPO.


Lebih lanjut