Advertisement
Maurizio-Ciullo

Esercizio Scraping web Coinmarketcap

Oct 2nd, 2021
256
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 4.24 KB | None | 0 0
  1. # Esercizio Scraping web Coinmarketcap
  2. # Voglio La Posizione, Il Ticker, Market Cap E Prezzo
  3.  
  4. # Per ispezionar euna pagina elemento per elemento con il mouse control shift c
  5.  
  6. pip install beautifulsoup4
  7. pip install pandas
  8. pip install matplotlib
  9.  
  10. import requests
  11. from bs4 import BeautifulSoup
  12. import pandas as pd
  13.  
  14. response = requests.get("https://coinmarketcap.com/")
  15.  
  16. if response.status_code != 200:
  17.     print("ERRORE Download Pagina")
  18. response.content
  19.  
  20. soup=BeautifulSoup(response.content, "html.parser")
  21.  
  22. tables = BeautifulSoup(response.content, "html.parser").find_all("table", {"class": "h7vnx2-2 czTsgW cmc-table"})
  23. print(tables)
  24.  
  25. # Estraggo il testo da table e gli dico non fermarsi alla prima stringa
  26. for table in tables:
  27.     header=table
  28.     if header.find("Name") == -1:
  29.         continue
  30.     print(table.text)
  31. # Estraggo il testo dalle righe di table e gli dico non fermarsi alla prima stringa
  32. for table in tables:
  33.     header=table
  34.     if header.find("Name") == -1:
  35.         continue
  36.     rows=table.find_all("tr")
  37.     for row in rows:
  38.         print(row.text)
  39. # Dalla 1a Riga prendo il testo per le colonne che mi interessano: Colonna1 Rank #
  40. colonna1 = []
  41.  
  42. for table in tables:
  43.     header=table
  44.     if header.find("Name") == -1:
  45.         continue
  46.     rows=table.find_all("tr")
  47.     for row in rows[0:1]:
  48.         print(row.text[0:1])
  49.         column=row.text[0:1]
  50.         colonna1.append(column)
  51.  
  52. print(colonna1)
  53. # Dalla 1a Riga prendo il testo per le colonne che mi interessano: Colonna2 Name
  54. colonna2 = []
  55.  
  56. for table in tables:
  57.     header=table
  58.     if header.find("Name") == -1:
  59.         continue
  60.     rows=table.find_all("tr")
  61.     for row in rows[0:1]:
  62.         print(row.text[1:5])
  63.         column=row.text[1:5]
  64.         colonna2.append(column)
  65.  
  66. print(colonna2)
  67. # Dalla 1a Riga prendo il testo per le colonne che mi interessano: Colonna3 Price
  68. colonna3 = []
  69.  
  70. for table in tables:
  71.     header=table
  72.     if header.find("Name") == -1:
  73.         continue
  74.     rows=table.find_all("tr")
  75.     for row in rows[0:1]:
  76.         print(row.text[5:10])
  77.         column=row.text[5:10]
  78.         colonna3.append(column)
  79.  
  80. print(colonna3)
  81. # Dalla 1a Riga prendo il testo per le colonne che mi interessano: Colonna4 Market Cap
  82. colonna4 = []
  83.  
  84. for table in tables:
  85.     header=table
  86.     if header.find("Name") == -1:
  87.         continue
  88.     rows=table.find_all("tr")
  89.     for row in rows[0:1]:
  90.         print(row.text[19:29])
  91.         column=row.text[19:29]
  92.         colonna4.append(column)
  93.  
  94. print(colonna4)
  95. # Tutte le righe tranne la prima che la abbiamo già estratta sopra
  96. for table in tables:
  97.     header=table
  98.     if header.find("Name") == -1:
  99.         continue
  100.     rows=table.find_all("tr")
  101.     for row in rows[1:]:
  102.         print(row.text)
  103. # Tutte le celle con i prezzi all'interno
  104. prezzi = [] # Da Eliminare il Segno del dollaro
  105.  
  106. for table in tables:
  107.     header=table
  108.     if header.find("Name") == -1:
  109.         continue
  110.     rows=table.find_all("tr")
  111.     for row in rows[1:]:
  112.         #print(row.text)
  113.         cells=row.find_all("td")
  114.         print(cells[3].text)
  115.         price=(cells[3].text)
  116.         prezzi.append(price)
  117.  
  118. print(prezzi)
  119. # Tutte le celle con i ticker all'interno
  120. ticker = [] # Ci sono alcune lettere in più non le ho tolte per il momento
  121.  
  122. for table in tables:
  123.     header=table
  124.     if header.find("Name") == -1:
  125.         continue
  126.     rows=table.find_all("tr")
  127.     for row in rows[1:]:
  128.         #print(row.text)
  129.         cells=row.find_all("td")
  130.         print(cells[2].text)
  131.         tickers=(cells[2].text)
  132.         ticker.append(tickers)
  133.  
  134. print(ticker)
  135. # Colonne che ci serviranno in futuro:
  136. colonna1
  137. colonna2
  138. colonna3
  139. colonna4
  140. prezzi
  141. ticker
  142. market_cap
  143. # Mi escono sono le prime 10 Market Cap Da Continuare------------------------------------------------------------------
  144.  
  145. # Tutte le celle con la market cap all'interno
  146. market_cap = [] # Mi escono sono le prime 10
  147.  
  148. for table in tables:
  149.     header=table
  150.     if header.find("Name") == -1:
  151.         continue
  152.     rows=table.find_all("tr")
  153.     for row in rows[1:]:
  154.         #print(row.text)
  155.         cells=row.find_all("td")
  156.         print(cells[6].text)
  157.         Market_Cap=(cells[6].text)
  158.         market_cap.append(Market_Cap)
  159.  
  160. print(market_cap)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement