हाल ही में, मैंने देखा कि समुदाय और पुस्तकालय में पायथन क्रॉलर के बारे में कोई प्रासंगिक जानकारी नहीं है, क्वांट के सर्वव्यापी विकास की भावना के आधार पर, मैंने क्रॉलर से संबंधित कुछ अवधारणाओं और ज्ञान को आसानी से सीखा। कुछ समझ के बाद, मैंने पाया कि
जो लोग नए शेयरों की सदस्यता लेना पसंद करते हैं, वे हमेशा पहली बार में एक्सचेंज पर मुद्रा की जानकारी प्राप्त करने की उम्मीद करते हैं। जाहिर है कि लोगों के लिए एक्सचेंज वेबसाइट को हर समय मॉनिटर करना अवास्तविक है। फिर आपको एक्सचेंज घोषणा पृष्ठ की निगरानी करने और नई घोषणाओं का पता लगाने के लिए क्रॉलर स्क्रिप्ट का उपयोग करने की आवश्यकता है ताकि आपको पहली बार में सूचित और याद दिलाया जा सके।
प्रारंभ करने के लिए एक बहुत ही सरल कार्यक्रम का उपयोग किया जाता है (एक वास्तव में शक्तिशाली क्रॉलर स्क्रिप्ट बहुत अधिक जटिल है, इसलिए पहले अपना समय लें) । कार्यक्रम तर्क बहुत सरल है। यह कार्यक्रम को एक्सचेंज के घोषणा पृष्ठ तक लगातार पहुंचने, प्राप्त HTML सामग्री को पार्स करने और यह पता लगाने की अनुमति देता है कि विशिष्ट लेबल सामग्री अपडेट की गई है या नहीं।
आप कुछ उपयोगी क्रॉलर फ्रेमवर्क का उपयोग कर सकते हैं. हालांकि, यह देखते हुए कि आवश्यकताएं बहुत सरल हैं, आप उन्हें सीधे लिख सकते हैं.
निम्नलिखित पायथन पुस्तकालयों का उपयोग करना आवश्यक हैःRequests
, जिसे वेब पृष्ठों तक पहुँचने के लिए उपयोग की जाने वाली लाइब्रेरी के रूप में समझा जा सकता है।Bs4
, जिसे वेब पेजों पर एचटीएमएल कोड को पार्स करने के लिए उपयोग की जाने वाली लाइब्रेरी के रूप में समझा जा सकता है।
कोडः
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)
यह विस्तारित किया जा सकता है, उदाहरण के लिए, जब एक नई घोषणा का पता लगाया जाता है। घोषणा में नई मुद्रा का विश्लेषण करें, और स्वचालित रूप से नए शेयरों की सदस्यता के लिए एक आदेश रखें।