-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtrack_names.py
36 lines (31 loc) · 1.1 KB
/
track_names.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
"""
extracts names from track links
"""
import requests
def get_names_from_track(track_links: list[str])->list[str]:
"""
Retrieves track names from a list of track links.
Args:
track_links (list[str]): A list of track links.
Returns:
list[str]: A list of track names extracted from the track links.
Examples:
>>> track_links = ["https://open.spotify.com/track/abc123", ...]
>>> get_names_from_track(track_links)
['Track 1', 'Track 2', ...]
"""
track_names = []
for track_link in track_links:
raw_html_data = requests.get(track_link)
html_content = raw_html_data.text
name_location = html_content.find("<title>")
name_offset = 7
name_size = 50
track_name = html_content[
name_location+name_offset:name_location+name_offset+name_size
].split("-")[0]
if track_name!="Too Many Requests</title>\n</head>\n<body>\n<h1>429</":
track_names.append(track_name)
print("Track Fetched: ",track_name,end="\n\n")
print("All Track Fetched")
return track_names