Я пытаюсь получить строковый ввод в моем коде Python для преобразования и преобразования в URL-адрес для поиска строки на веб-сайте. Я использую сайт songbpm.com, и я хочу найти песню, и я получаю скорость песни. Поиск нужной информации в HTML не проблема, я уже закончил, и мое создание URL работает, что здесь:
import urllib.request
import urllib.parse
song = input("")
fin = ""
for i in song:
if i == "(":
tempone = song
song = tempone.split("(")[0] + tempone.split(") ")[1]
previous = ""
for i in song:
if i.isalpha():
temp = fin
fin = temp + i
else:
if previous.isalpha():
temp = fin
fin = temp + "-"
previous = i
songencoded = urllib.parse.quote(song, safe='')
print('https://songbpm.com/'+ fin.lower() + '?q=' + songencoded)
response = urllib.request.urlopen('https://songbpm.com/'+ fin.lower() + '?q=' + songencoded)
text = str(response.read()).split('\\n')
Возвращаемые URL-адреса идентичны URL-адресу, когда я вручную ввожу поисковый ввод на веб-сайте, однако, когда я запускаю этот код, он всегда читает html-данные для перенаправления без результатов.
Кроме того, если я вставлю сгенерированный компьютером URL-адрес в браузер, он будет перенаправлен на страницу без результатов, однако после поиска этой же строки вручную в браузере сгенерированный компьютером URL-адрес также будет работать (при повторной попытке) .
Я также заметил, что после открытия определенного URL-адреса вручную я могу запустить код с тем же поисковым запросом, и он работает - кажется, что запросы кэшируются в течение определенного периода времени, если пользователь, а не пользователь код открывает его.
Как мне решить эту проблему с кодом, несмотря на то, что я генерирую точный URL, не имея возможности открывать веб-страницы, похожие на пользователя.