Is féidir cur síos a dhéanamh ar scríobadh sonraí mar bhailiú uathoibrithe sonraí ó láithreáin ghréasáin, agus i gcás Spotify, ciallaíonn sé faisnéis a bhailiú faoi rianta, ealaíontóirí, albam, agus gnéithe úsáideacha eile le haghaidh anailísíochta nó iarratais cheoil a chruthú.
Cabhraíonn úsáid Python le seinmliostaí Spotify a bhaint amach chomh maith le hainm an ealaíontóra, agus rianta. Is féidir é seo a bhuíochas don Spotify API, a ligeann duit sonraí a fháil go dleathach agus gan rialacha a shárú. Mar sin féin, mura soláthraíonn an API na huirlisí riachtanacha, is féidir leat scríobadh gréasáin a úsáid. Tá Beautifulsoup agus Selenium foirfe chun spotify a scríobadh.
Sa rang teagaisc Scraping Sonraí seo, foghlaimeoidh tú conas leabharlanna a shuiteáil, oibriú leis an Spotify API, scríobadh a chur i bhfeidhm, agus sonraí a shábháil i CSV.
Mar sin, tá a fhios againn cheana féin cad iad na huirlisí atá oiriúnach chun sonraí Spotify a scríobadh ag baint úsáide as Python. Anois, déanaimis súil ar conas na leabharlanna riachtanacha a shuiteáil:
pip install beautifulsoup4
pip install selenium
pip install requests
Mar sin, cén cuspóir a fhreastalaíonn gach duine?
Le cur ar chumas Selenium an brabhsálaí a rialú agus idirghníomhú le Spotify, teastaíonn tiománaí gréasáin uaidh. Is bogearraí speisialta é seo ar féidir leo leathanaigh a oscailt go huathoibríoch, cliceáil cnaipí, srl.
Táimid ag dul a úsáid ChromeDriver, é a íoslódáil ón láithreán gréasáin oifigiúil agus ansin é a dhíphacáil agus an cosán a shábháil air.
from selenium import webdriver
driver_path = "C:/webdriver/chromedriver.exe" # Cuir do chosán in ionad do chosáin
driver = webdriver.Chrome(driver_path)
driver.get("https://google.com")
Agus tú ag scríobadh Spotify Playlist, ní mór duit anailís a dhéanamh ar chód HTML an leathanaigh agus a chinneadh cé na heilimintí a bhfuil an fhaisnéis riachtanach iontu. Déanaimis tús le scríobadh seinmliosta Python Spotify tar éis na treorach céim ar chéim thíos.
Sa bhrabhsálaí, trí F12 a bhrú, is féidir leat an struchtúr HTML a fheiceáil ina bhfuil na heilimintí riachtanacha suite. Sampla de struchtúr den sórt sin:
<div class="tracklist-row">
<span class="track-name">name</span>
<span class="artist-name">artist</span>
<span class="track-duration">3:45</span>
</div>
Chun faisnéis a bhailiú, bainfimid úsáid as Selenium chun ábhar dinimiciúil agus álainn a luchtú chun HTML a pharsáil.
from selenium import webdriver
import time
from bs4 import BeautifulSoup
Anseo thíos tá sampla de Scraping Web Spotify ag baint úsáide as Python, a osclaíonn an leathanach seinmliosta, a dhéanann anailís ar an gcód HTML, agus a shroicheann faisnéis faoi na hamhráin.
Conas a oibríonn sé:
def get_spotify_playlist_data(playlist_url):
# Seoladh an brabhsálaí trí Selenium
options = webdriver.ChromeOptions()
options.add_argument("--headless") # Rith i mód gan dídean (gan fhuinneog brabhsálaí)
driver = webdriver.Chrome(options=options)
driver.get(playlist_url)
time.sleep(5) # Fan go mbeidh an leathanach á luchtú
# Scrollaigh an leathanach chun gach rianta a luchtú
driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
# Faigh cód HTML an leathanaigh
html = driver.page_source
driver.quit()
soup = BeautifulSoup(html, "lxml")
# Faigh gach rianta
tracks = []
for track in soup.find_all(class_="IjYxRc5luMiDPhKhZVUH UpiE7J6vPrJIa59qxts4"):
name = track.find(
class_="e-9541-text encore-text-body-medium encore-internal-color-text-base btE2c3IKaOXZ4VNAb8WQ standalone-ellipsis-one-line").text
artist = track.find(class_="e-9541-text encore-text-body-small").find('a').text
duration = track.find(
class_="e-9541-text encore-text-body-small encore-internal-color-text-subdued l5CmSxiQaap8rWOOpEpk").text
tracks.append({"track title": name, "artist": artist, "duration": duration})
return tracks
Chun an fheidhm a ghlaoch, cuir an URL Playlist Spotify chuige. Osclaíonn an fheidhm é, scríobhann sé na sonraí seinmliosta Spotify le Python, agus cuireann sé liosta de theidil amhrán, ealaíontóirí agus tréimhsí ar ais.
playlist_url = "https://open.spotify.com/album/7aJuG4TFXa2hmE4z1yxc3n?si=W7c1b1nNR3C7akuySGq_7g"
data = get_spotify_playlist_data(playlist_url)
for track in data:
print(track)
Chun faisnéis a bhailiú ó API Spotify, beidh comhartha de dhíth ort. Is féidir é seo a bhaint amach trí fhíordheimhniú. Ní bheidh tú in ann iarratais a dhéanamh ar an API gan é. Sonróidh an chéad chuid eile conas is féidir é seo a bhaint amach.
Téigh go dtí Painéal na nIonstraimí Forbróra Spotify, logáil isteach i do chuntas nó cruthaigh ceann mura bhfuil ceann agat fós. Tar éis logáil isteach, cláraigh an t -iarratas, líon isteach an fhoirm lena n -áirítear ainm agus cur síos. Nuair a bheidh sé críochnaithe, ginfear ID cliant agus rún cliant duit.
Chun an comhartha a fháil, bainfimid úsáid as iarratais i Python.
import requests
import base64
# Sonraí do chuntais
CLIENT_ID = "client_id"
CLIENT_SECRET = "client_secret"
# Ionchódú i Base64
credentials = f"{CLIENT_ID}:{CLIENT_SECRET}"
encoded_credentials = base64.b64encode(credentials.encode()).decode()
# Iarratas a sheoladh chun an comhartha a fháil
url = "https://accounts.spotify.com/api/token"
headers = {
"Authorization": f"Basic {encoded_credentials}",
"Content-Type": "application/x-www-form-urlencoded"
}
data = {"grant_type": "client_credentials"}
response = requests.post(url, headers=headers, data=data)
token = response.json().get("access_token")
print("Access Token:", token)
Ar an mbealach seo, cuirimid an fhaisnéis a fuarthas roimhe seo i gceangal agus déanaimid é a chriptiú ar bhealach áirithe chun a chinntiú go seoltar an t -iarratas ar an gcomhartha a fháil i gceart. Is beart slándála é seo atá coitianta ar fud go leor APIs. Ina dhiaidh sin, seolfaimid iarratas GET ar an gcomhartha. Nuair a fhaighimid é, déanfar é a phriontáil chuig an gconsól.
Nuair a bheidh an comhartha agat, is féidir leat iarratais a dhéanamh.
artist_id = "6qqNVTkY8uBg9cP3Jd7DAH"
url = f"https://api.spotify.com/v1/artists/{artist_id}"
headers = {"Authorization": f"Bearer {token}"}
response = requests.get(url, headers=headers)
artist_data = response.json()
Chun na sonraí bailithe a shábháil i bhformáid JSON le haghaidh tuilleadh anailíse, bainfimid úsáid as an Leabharlann Python Standard.
playlist_url = "https://open.spotify.com/album/7aJuG4TFXa2hmE4z1yxc3n?si=W7c1b1nNR3C7akuySGq_7g"
data = get_spotify_playlist_data(playlist_url)
with open('tracks.json', 'w', encoding='utf-8') as json_file:
json.dump(data, json_file, ensure_ascii=False, indent=4)
print("Data saved to tracks.json")
Tar éis na gcleachtas eiticiúil, maolóidh sé an próiseas scrapála Spotify ag baint úsáide as Python. Chuige seo, faigh an API oifigiúil de Spotify toisc go dtugann sé rochtain dhlíthiúil duit ar fhaisnéis gan aon rialacha a shárú. Nuair a scríobann an gréasáin, cuimhnigh ar ráta na n -iarratas a throttle mura bhfuil an API ag freastal ar do chuid riachtanas go léir chun brú freastalaí a sheachaint.
Tá beartas an láithreáin ghréasáin le fáil sna robots.txt, mar sin seiceáil go bhfuil an láithreán gréasáin á scríobadh agat. Chomh maith leis sin, tá freastalaithe seachvótála cabhrach chun bloic a chosc.
Léirigh an treoir seo maidir le bailiú sonraí samplaí scríobtha Python Spotify chomh maith le faisnéis bhreise a theastaíonn le haghaidh láimhseáil próisis scríobtha cuí.
Lig dúinn aird a tharraingt ar na príomhphointí:
Trí úsáid a bhaint as na huirlisí scrapála Spotify seo le Python, is féidir leat na sonraí riachtanacha a bhailiú go héasca agus go tapa, an próiseas chun anailís a dhéanamh ar ábhar ceoil.
Tuairimí: 0