Gần đây, tôi đã thấy rằng không có thông tin liên quan về trình thu thập thông tin Python trong cộng đồng và thư viện, dựa trên tinh thần phát triển toàn diện của QUANT, tôi chỉ đơn giản học được một số khái niệm và kiến thức liên quan đến trình thu thập thông tin. Sau khi hiểu một chút, tôi thấy rằng
Đối với những người thích đăng ký cổ phiếu mới, họ luôn hy vọng có được thông tin về tiền tệ trên sàn giao dịch lần đầu tiên. Rõ ràng là không thực tế khi mọi người theo dõi trang web sàn giao dịch mọi lúc. Sau đó bạn cần sử dụng kịch bản thu thập thông tin để theo dõi trang thông báo sàn giao dịch và phát hiện các thông báo mới để bạn có thể được thông báo và nhắc nhở lần đầu tiên.
Một chương trình rất đơn giản được sử dụng để bắt đầu (một kịch bản trình thu thập dữ liệu thực sự mạnh mẽ phức tạp hơn nhiều, vì vậy hãy dành thời gian của bạn trước).
Bạn có thể sử dụng một số khung trình thu thập dữ liệu hữu ích. Tuy nhiên, xem xét rằng các yêu cầu rất đơn giản, bạn có thể viết chúng trực tiếp.
Các thư viện python sau đây cần được sử dụng:Requests
, có thể được hiểu đơn giản như một thư viện được sử dụng để truy cập các trang web.Bs4
, có thể được hiểu đơn giản như một thư viện được sử dụng để phân tích mã HTML trên các trang web.
Mã:
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)
Nó có thể được mở rộng, ví dụ, khi một thông báo mới được phát hiện. Phân tích tiền tệ mới trong thông báo, và đặt một lệnh tự động để đăng ký cổ phiếu mới.