Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Esercizio Scraping web Coinmarketcap
- # Voglio La Posizione, Il Ticker, Market Cap E Prezzo
- # Per ispezionar euna pagina elemento per elemento con il mouse control shift c
- pip install beautifulsoup4
- pip install pandas
- pip install matplotlib
- import requests
- from bs4 import BeautifulSoup
- import pandas as pd
- response = requests.get("https://coinmarketcap.com/")
- if response.status_code != 200:
- print("ERRORE Download Pagina")
- response.content
- soup=BeautifulSoup(response.content, "html.parser")
- tables = BeautifulSoup(response.content, "html.parser").find_all("table", {"class": "h7vnx2-2 czTsgW cmc-table"})
- print(tables)
- # Estraggo il testo da table e gli dico non fermarsi alla prima stringa
- for table in tables:
- header=table
- if header.find("Name") == -1:
- continue
- print(table.text)
- # Estraggo il testo dalle righe di table e gli dico non fermarsi alla prima stringa
- for table in tables:
- header=table
- if header.find("Name") == -1:
- continue
- rows=table.find_all("tr")
- for row in rows:
- print(row.text)
- # Dalla 1a Riga prendo il testo per le colonne che mi interessano: Colonna1 Rank #
- colonna1 = []
- for table in tables:
- header=table
- if header.find("Name") == -1:
- continue
- rows=table.find_all("tr")
- for row in rows[0:1]:
- print(row.text[0:1])
- column=row.text[0:1]
- colonna1.append(column)
- print(colonna1)
- # Dalla 1a Riga prendo il testo per le colonne che mi interessano: Colonna2 Name
- colonna2 = []
- for table in tables:
- header=table
- if header.find("Name") == -1:
- continue
- rows=table.find_all("tr")
- for row in rows[0:1]:
- print(row.text[1:5])
- column=row.text[1:5]
- colonna2.append(column)
- print(colonna2)
- # Dalla 1a Riga prendo il testo per le colonne che mi interessano: Colonna3 Price
- colonna3 = []
- for table in tables:
- header=table
- if header.find("Name") == -1:
- continue
- rows=table.find_all("tr")
- for row in rows[0:1]:
- print(row.text[5:10])
- column=row.text[5:10]
- colonna3.append(column)
- print(colonna3)
- # Dalla 1a Riga prendo il testo per le colonne che mi interessano: Colonna4 Market Cap
- colonna4 = []
- for table in tables:
- header=table
- if header.find("Name") == -1:
- continue
- rows=table.find_all("tr")
- for row in rows[0:1]:
- print(row.text[19:29])
- column=row.text[19:29]
- colonna4.append(column)
- print(colonna4)
- # Tutte le righe tranne la prima che la abbiamo già estratta sopra
- for table in tables:
- header=table
- if header.find("Name") == -1:
- continue
- rows=table.find_all("tr")
- for row in rows[1:]:
- print(row.text)
- # Tutte le celle con i prezzi all'interno
- prezzi = [] # Da Eliminare il Segno del dollaro
- for table in tables:
- header=table
- if header.find("Name") == -1:
- continue
- rows=table.find_all("tr")
- for row in rows[1:]:
- #print(row.text)
- cells=row.find_all("td")
- print(cells[3].text)
- price=(cells[3].text)
- prezzi.append(price)
- print(prezzi)
- # Tutte le celle con i ticker all'interno
- ticker = [] # Ci sono alcune lettere in più non le ho tolte per il momento
- for table in tables:
- header=table
- if header.find("Name") == -1:
- continue
- rows=table.find_all("tr")
- for row in rows[1:]:
- #print(row.text)
- cells=row.find_all("td")
- print(cells[2].text)
- tickers=(cells[2].text)
- ticker.append(tickers)
- print(ticker)
- # Colonne che ci serviranno in futuro:
- colonna1
- colonna2
- colonna3
- colonna4
- prezzi
- ticker
- market_cap
- # Mi escono sono le prime 10 Market Cap Da Continuare------------------------------------------------------------------
- # Tutte le celle con la market cap all'interno
- market_cap = [] # Mi escono sono le prime 10
- for table in tables:
- header=table
- if header.find("Name") == -1:
- continue
- rows=table.find_all("tr")
- for row in rows[1:]:
- #print(row.text)
- cells=row.find_all("td")
- print(cells[6].text)
- Market_Cap=(cells[6].text)
- market_cap.append(Market_Cap)
- print(market_cap)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement