Я скачал кучу песен с Newgrounds.com. Загрузив их, я заметил, что вместо названия песни имя файла было идентификатором песни. Поскольку я скачал около 200 песен, я решил создать программу, чтобы переименовать их все, а не идти по очереди. Вот код:
import urllib.request
import urllib.parse
import re
import os
path = os.listdir('C:\\Users\\axeld\\Desktop\\Music\\NG Trial')
for item in path:
url = f'https://www.newgrounds.com/audio/listen/{item.replace(".mp3", "")}'
values = {'s': 'basics',
'submit': 'search'}
data = urllib.parse.urlencode(values)
data = data.encode('utf-8')
req = urllib.request.Request(url, data)
resp = urllib.request.urlopen(req)
respData = resp.read()
text = re.findall(r'<h2 itemprop="name"(.*?)</h2>', str(respData))
name = str(text)
n1 = name.replace('[', '')
n2 = n1.replace(']', '')
n3 = n2.replace('<', '')
n4 = n3.replace('>', '')
Song_name = n4.replace("'", '')
values = {'s': 'basics',
'submit': 'search'}
Author_data = urllib.parse.urlencode(values)
Author_data = Author_data.encode('utf-8')
request = urllib.request.Request(url, data)
response = urllib.request.urlopen(req)
responseData = response.read()
text = re.findall(r'<a herf="//(.*?).newgrounds.com>(.*?)</a>"', str(respData))
author = str(text)
print(Song_name)
print(author)
Он работает на полпути, но у меня проблема. Вот вывод:
Forsaken Neon
[]
The Prototype
[]
Guitar Vs. Piano 1.2
[]
Surface
[]
Как видите, я прекрасно понимаю название песни. Но, пытаясь получить имя автора, я только что получил «[]» в качестве ответа. Почему это и как я могу это исправить?