استخراج داده ارز دیجیتال از Web Scrape با پایتون

سلام دوستان عزیز و دوست داشتنی، در این بخش کد استخراج داده از وب سایت coinmarket برای شما عزیزان ارائه شده است که کاربردهای بسیاری داره. همونطور که می دونید وبسایت coinmarket یکی از سایت های معروف در حوزه کریپتو یا ارزهای دیجیتاله که به صورت لحظه ای به ارائه قیمت ها و اطلاعات ارزهای دیجیتال می پردازه حالا ما می خوایم با استفاده از ابزار Google Colab و با زبان پایتون داده های ده ارز دیجیتال معروف رو استخراج کنیم و به صورت یک جدول نمایش بدیم! 

خب برای راحتی کار ما کد کامل ران/اجرا شده کد رو در لینک زیر قرار دادیم که میتونید بهش دسترسی پیدا کنید!

توضیحات کد:

کد استخراج داده از وبسایت coinmarket چندتا بخش مختلف داره که به ترتیب زیره:

۱- بخش اضافه کردن کتابخونه ها:

#Import the libraries
import pandas as pd
import requests
from bs4 import BeautifulSoup

۲- ایجاد لیست های خالی برای ذخیره دیتا:

#Create empty lists to store the data
crypto_name_list = []
crypto_market_cap_list = []
crypto_price_list = []
crypto_circulating_supply_list = []
crypto_symbol_list = []

۳- ایجاد یک دیتافریم خالی برای کمک به سازماندهی دیتا:

#Create an empty dataframe to help organize the data
df = pd.DataFrame()

۴- ایجاد یک تابع برای استخراج دیتا از سایت coinmarket:

from datetime import date
#Create a function to scrap the data
# Example: https://coinmarketcap.com/historical/20220227/
def scrape(date = '20220227/'):
  #Get the URL of the website that we want to scrap
  URL = 'https://coinmarketcap.com/historical/'+date
  #Make a request to the website
  webpage = requests.get(URL)
  #Parse the text from the website
  soup = BeautifulSoup(webpage.text, 'html.parser')

  #Get the table row element
  tr = soup.find_all('tr', attrs={'class':'cmc-table-row'})
  #Create  a count variable for the number of crypto currencies that we want scrape
  count = 0
  #Loop through every row to gather the data / information
  for row in tr:
    if count == 10:
      break;
    count = count + 1 #Increment count by 1

    #store the name of the cryptocurrency into a variable
    #Find the td element (or column) to later get the crypto currency name
    name_column = row.find('td', attrs={'class':'cmc-table__cell cmc-table__cell--sticky cmc-table__cell--sortable cmc-table__cell--left cmc-table__cell--sort-by__name'})
    crypto_name = name_column.find('a', attrs={'class':'cmc-table__column-name--name cmc-link'}).text.strip()
    #Store the coin market cap of the cryptocurrency or coin into a variable
    crypto_market_cap = row.find('td', attrs={'class':'cmc-table__cell cmc-table__cell--sortable cmc-table__cell--right cmc-table__cell--sort-by__market-cap'}).text.strip()
    #Find and store the crypto price
    crypto_price = row.find('td', attrs={'class':'cmc-table__cell cmc-table__cell--sortable cmc-table__cell--right cmc-table__cell--sort-by__price'}).text.strip()
    #Find and store the crypto supply and symbol
    crypto_circulating_supply_and_symbol = row.find('td', attrs={'class':'cmc-table__cell cmc-table__cell--sortable cmc-table__cell--right cmc-table__cell--sort-by__circulating-supply'}).text.strip()
    #Split the data
    crypto_circulating_supply = crypto_circulating_supply_and_symbol.split(' ')[0] #first word
    crypto_symbol = crypto_circulating_supply_and_symbol.split(' ')[1] #second word

    #APPEND THE DATA TO THE LISTS
    crypto_name_list.append(crypto_name)
    crypto_market_cap_list.append(crypto_market_cap)
    crypto_price_list.append(crypto_price)
    crypto_circulating_supply_list.append(crypto_circulating_supply)
    crypto_symbol_list.append(crypto_symbol)

۵- اجرا کردن تابع استخراج تعریف شده در بالا:

#Run the scrape function
scrape(date = '20220227/')

۶- ذخیره دیتا در یک دیتافریم برای کمک به سازماندهی دیتا:

#Store the data into a dataframe to help organize the data
df['Name'] = crypto_name_list
df['Market Cap'] = crypto_market_cap_list
df['Price'] = crypto_market_cap_list
df['Circulating Supply'] = crypto_circulating_supply_list
df['Symbol'] = crypto_symbol_list

۷- نمایش دیتا:

#Show the data
df

که در نهایت ۱۰ ارز دیجیتال اول به صورت جدول زیر نمایش داده خواهند شد:

شما به راحتی میتونید همین کد رو برای همه پروژه های استخراج داده از وبسایت ها استفاده کنید و هردیتایی که لازم دارید رو استخراج کنید. امیدوارم این پروژه براتون مفید بوده باشه! خوشحال میشیم با نظرات و ایده هاتون مارو دلگرم کنید!

2 دیدگاه در “استخراج داده ارز دیجیتال از Web Scrape با پایتون

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

قبلا حساب کاربری ایجاد کرده اید؟
گذرواژه خود را فراموش کرده اید؟
Loading...