Не получен ответ от запроса URL - PullRequest
0 голосов
/ 22 февраля 2020

Я скачал кучу песен с 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
[]

Как видите, я прекрасно понимаю название песни. Но, пытаясь получить имя автора, я только что получил «[]» в качестве ответа. Почему это и как я могу это исправить?

...