সম্প্রতি, আমি দেখেছি যে সম্প্রদায় এবং লাইব্রেরিতে পাইথন ক্রলার সম্পর্কে কোনও প্রাসঙ্গিক তথ্য নেই, কোয়ান্টের সর্বজনীন বিকাশের চেতনার ভিত্তিতে, আমি কেবল ক্রলারের সাথে সম্পর্কিত কিছু ধারণাগুলি এবং জ্ঞান শিখেছি। কিছু বোঝার পরে, আমি দেখতে পেলাম যে
যারা নতুন শেয়ার সাবস্ক্রাইব করতে পছন্দ করেন তাদের জন্য, তারা সর্বদা প্রথমবারের মতো এক্সচেঞ্জে মুদ্রার তথ্য পাওয়ার আশা করে। এটি স্পষ্টতই মানুষের জন্য এক্সচেঞ্জ ওয়েবসাইটটি সর্বদা পর্যবেক্ষণ করা অবাস্তব। তারপরে আপনাকে এক্সচেঞ্জের বিজ্ঞপ্তি পৃষ্ঠাটি পর্যবেক্ষণ করতে এবং নতুন ঘোষণাগুলি সনাক্ত করতে ক্রলার স্ক্রিপ্ট ব্যবহার করতে হবে যাতে আপনাকে প্রথমবারের মতো বিজ্ঞপ্তি দেওয়া এবং মনে করিয়ে দেওয়া যায়।
শুরু করার জন্য একটি খুব সহজ প্রোগ্রাম ব্যবহার করা হয় (একটি সত্যিই শক্তিশালী ক্রলার স্ক্রিপ্ট অনেক বেশি জটিল, তাই প্রথমে আপনার সময় নিন) । প্রোগ্রাম লজিক খুব সহজ। এটি প্রোগ্রামকে এক্সচেঞ্জের ঘোষণা পৃষ্ঠায় ক্রমাগত অ্যাক্সেস করতে, প্রাপ্ত 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)
এটি সম্প্রসারিত করা যেতে পারে, উদাহরণস্বরূপ, যখন একটি নতুন ঘোষণা সনাক্ত করা হয়। ঘোষণা নতুন মুদ্রা বিশ্লেষণ, এবং স্বয়ংক্রিয়ভাবে নতুন শেয়ার সাবস্ক্রাইব করার জন্য একটি অর্ডার স্থাপন।