Baru-baru ini, saya melihat melalui Forum dan Digest kami, dan tidak ada informasi yang relevan tentang crawler Python. Berdasarkan semangat pengembangan komprehensif FMZ, saya pergi hanya untuk belajar tentang konsep dan pengetahuan crawler. Setelah belajar tentang hal itu, saya menemukan bahwa masih banyak yang harus dipelajari tentang
Untuk pedagang yang suka trading IPO, mereka selalu ingin mendapatkan informasi daftar platform sesegera mungkin. Jelas tidak realistis untuk secara manual menatap situs web platform sepanjang waktu. Kemudian Anda perlu menggunakan skrip crawler untuk memantau halaman pengumuman platform, dan mendeteksi pengumuman baru untuk diberitahu dan diingatkan pada saat pertama kali.
Gunakan program yang sangat sederhana sebagai awal (script crawler yang benar-benar kuat jauh lebih kompleks, jadi luangkan waktu Anda). Logika program sangat sederhana, yaitu, biarkan program terus mengunjungi halaman pengumuman platform, menganalisis konten HTML yang diperoleh, dan mendeteksi apakah konten label yang ditentukan diperbarui.
Anda dapat menggunakan beberapa struktur crawler yang berguna. Mengingat bahwa permintaan sangat sederhana, Anda juga dapat menulis langsung.
Perpustakaan Python yang akan digunakan:requests
, yang dapat dianggap sebagai perpustakaan yang digunakan untuk mengakses halaman web.bs4
, yang dapat dianggap sebagai perpustakaan yang digunakan untuk menganalisis kode HTML halaman web.
Kode:
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)
Anda bahkan dapat memperluasnya, seperti mendeteksi pengumuman baru, analisis simbol mata uang baru yang terdaftar, dan pemesanan otomatis perdagangan IPO.