hi
English
Español
中國人
Tiếng Việt
Deutsch
Українська
Português
Français
Türkçe
한국인
Italiano
Gaeilge
اردو
Indonesia
Polski डेटा स्क्रैपिंग को वेबसाइटों से डेटा के स्वचालित एकत्रीकरण के रूप में वर्णित किया जा सकता है, और Spotify के मामले में, इसका अर्थ है कि एनालिटिक्स के लिए ट्रैक्स, कलाकार, एल्बम और अन्य उपयोगी तत्वों के बारे में जानकारी एकत्र करना या संगीत अनुप्रयोग बनाना।
Python का उपयोग करने से Spotify प्लेलिस्ट के साथ -साथ कलाकार के नाम, और ट्रैक निकालने में मदद मिलती है। यह Spotify API के लिए संभव है, जो आपको कानूनी रूप से और नियमों का उल्लंघन किए बिना डेटा प्राप्त करने की अनुमति देता है। हालांकि, यदि एपीआई आवश्यक उपकरण प्रदान नहीं करता है, तो आप वेब स्क्रैपिंग का उपयोग कर सकते हैं। BeautifulSoup और Selenium Spotify को स्क्रैप करने के लिए एकदम सही हैं।
इस Spotify डेटा स्क्रैपिंग ट्यूटोरियल में, आप सीखेंगे कि लाइब्रेरी कैसे स्थापित करें, Spotify API के साथ काम करें, स्क्रैपिंग लागू करें, और CSV में डेटा सहेजें।
इसलिए, हम पहले से ही जानते हैं कि Python का उपयोग करके Spotify डेटा को स्क्रैप करने के लिए कौन से उपकरण उपयुक्त हैं। अब, आइए देखें कि आवश्यक पुस्तकालयों को कैसे स्थापित किया जाए:
pip install beautifulsoup4
pip install selenium
pip install requests
तो, हर एक किस उद्देश्य से काम करता है?
Selenium को ब्राउज़र को नियंत्रित करने और Spotify के साथ बातचीत करने के लिए सक्षम करने के लिए, इसे एक वेब ड्राइवर की आवश्यकता होती है। यह एक विशेष सॉफ्टवेयर है जो स्वचालित रूप से पृष्ठ खोल सकता है, बटन पर क्लिक कर सकता है, आदि।
हम ChromeDriver का उपयोग करने जा रहे हैं, इसे आधिकारिक वेबसाइट से डाउनलोड करें और फिर इसे अनपैक करें और इसके लिए पथ को सहेजें।
from selenium import webdriver
driver_path = "C:/webdriver/chromedriver.exe" # अपने रास्ते से बदलें
driver = webdriver.Chrome(driver_path)
driver.get("https://google.com")
Spotify प्लेलिस्ट को स्क्रैप करते समय, आपको पृष्ठ के HTML कोड का विश्लेषण करने की आवश्यकता है और यह निर्धारित करना होगा कि किन तत्वों में आवश्यक जानकारी है। आइए नीचे दिए गए चरण-दर-चरण गाइड के बाद Python Spotify प्लेलिस्ट स्क्रैपिंग के साथ शुरू करें।
ब्राउज़र में, F12 दबाकर, आप HTML संरचना देख सकते हैं जहां आवश्यक तत्व स्थित हैं। ऐसी संरचना का उदाहरण:
<div class="tracklist-row">
<span class="track-name">name</span>
<span class="artist-name">artist</span>
<span class="track-duration">3:45</span>
</div>
जानकारी एकत्र करने के लिए, हम HTML को पार्सिंग के लिए डायनेमिक कंटेंट और ब्यूटीफुल लोड करने के लिए Selenium का उपयोग करेंगे।
from selenium import webdriver
import time
from bs4 import BeautifulSoup
नीचे Python का उपयोग करके वेब स्क्रैपिंग Spotify का एक उदाहरण दिया गया है, जो प्लेलिस्ट पेज खोलता है, HTML कोड का विश्लेषण करता है, और गीतों के बारे में जानकारी देता है।
यह काम किस प्रकार करता है:
def get_spotify_playlist_data(playlist_url):
# Selenium के माध्यम से ब्राउज़र लॉन्च करें
options = webdriver.ChromeOptions()
options.add_argument("--headless") # हेडलेस मोड में चलाएं (ब्राउज़र विंडो के बिना)
driver = webdriver.Chrome(options=options)
driver.get(playlist_url)
time.sleep(5) # पेज को लोड करने की प्रतीक्षा करें
# सभी पटरियों को लोड करने के लिए पेज को स्क्रॉल करें
driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
# पृष्ठ का HTML कोड प्राप्त करें
html = driver.page_source
driver.quit()
soup = BeautifulSoup(html, "lxml")
# सभी ट्रैक खोजें
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
फ़ंक्शन को कॉल करने के लिए, Spotify प्लेलिस्ट URL को पास करें। फ़ंक्शन इसे खोलता है, Python के साथ Spotify प्लेलिस्ट डेटा को स्क्रैप करता है, और गीत के शीर्षक, कलाकारों और अवधि की एक सूची देता है।
playlist_url = "https://open.spotify.com/album/7aJuG4TFXa2hmE4z1yxc3n?si=W7c1b1nNR3C7akuySGq_7g"
data = get_spotify_playlist_data(playlist_url)
for track in data:
print(track)
Spotify के API से जानकारी एकत्र करने के लिए, आपको एक टोकन की आवश्यकता होगी। यह प्रमाणीकरण के माध्यम से प्राप्त किया जा सकता है। आप इसके बिना एपीआई से अनुरोध नहीं कर पाएंगे। अगला भाग विस्तार करेगा कि यह कैसे प्राप्त किया जा सकता है।
Spotify डेवलपर डैशबोर्ड पर जाएं, अपने खाते में लॉग इन करें या यदि आपके पास अभी तक एक नहीं है तो एक बनाएं। लॉग इन करने के बाद, एप्लिकेशन को पंजीकृत करें, उस फॉर्म को भरें जिसमें एक नाम और एक विवरण शामिल है। पूरा होने पर, एक क्लाइंट आईडी और क्लाइंट सीक्रेट आपके लिए उत्पन्न होगा।
टोकन प्राप्त करने के लिए, हम Python में अनुरोधों का उपयोग करेंगे।
import requests
import base64
# आपका खाता डेटा
CLIENT_ID = "client_id"
CLIENT_SECRET = "client_secret"
# Base64 में एन्कोडिंग
credentials = f"{CLIENT_ID}:{CLIENT_SECRET}"
encoded_credentials = base64.b64encode(credentials.encode()).decode()
# टोकन प्राप्त करने के लिए एक अनुरोध भेजना
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)
इस तरह से, हम पहले प्राप्त जानकारी को जोड़ते हैं और इसे एक निश्चित तरीके से एन्क्रिप्ट करते हैं ताकि यह सुनिश्चित हो सके कि टोकन प्राप्त करने के अनुरोध को ठीक से भेजा गया है। यह एक सुरक्षा उपाय है जो कई एपीआई में आम है। उसके बाद, हम टोकन के लिए एक GET अनुरोध भेजते हैं। एक बार जब हम इसे प्राप्त कर लेते हैं, तो इसे कंसोल पर मुद्रित किया जाएगा।
एक बार जब आपके पास टोकन होता है, तो आप अनुरोध कर सकते हैं।
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()
आगे के विश्लेषण के लिए JSON प्रारूप में एकत्र किए गए डेटा को बचाने के लिए, हम मानक Python लाइब्रेरी का उपयोग करेंगे।
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")
नैतिक प्रथाओं का पालन करने से Python का उपयोग करके Spotify स्क्रैपिंग की प्रक्रिया में आसानी होगी। इसके लिए, Spotify का आधिकारिक एपीआई प्राप्त करें क्योंकि यह आपको किसी भी नियम का उल्लंघन किए बिना जानकारी तक कानूनी पहुंच प्रदान करता है। वेब स्क्रैपिंग करते समय, अनुरोधों की दर को थ्रॉटल करना याद रखें यदि एपीआई सर्वर स्ट्रेन से बचने के लिए आपकी सभी आवश्यकताओं की सेवा नहीं कर रहा है।
वेबसाइट की नीति Robots.txt में पाई जाती है, इसलिए वेबसाइट को स्क्रैप करने से पहले देखें। इसके अलावा, प्रॉक्सी सर्वर ब्लॉकों को रोकने में सहायक हैं।
डेटा संग्रह के लिए इस गाइड ने Python Spotify स्क्रैपिंग उदाहरणों के साथ -साथ उचित स्क्रैपिंग प्रक्रिया हैंडलिंग के लिए आवश्यक अतिरिक्त जानकारी को दिखाया है।
आइए प्रमुख बिंदुओं को हाइलाइट करें:
Python के साथ इन Spotify स्क्रैपिंग टूल का उपयोग करना आपको आसानी से और जल्दी से आवश्यक डेटा एकत्र करने की अनुमति देता है, संगीत सामग्री का विश्लेषण करने की प्रक्रिया का अनुकूलन करता है।
टिप्पणियाँ: 0