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
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.
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.
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)
Ia boleh dilanjutkan, sebagai contoh, apabila pengumuman baru dikesan. Menganalisis mata wang baru dalam pengumuman, dan meletakkan pesanan secara automatik untuk melanggan saham baru.