У меня есть список URL-адресов страниц песен в Tiktok в виде f'https://www.tiktok.com/music/-{songid}'. Если я введу его в браузере, я буду перенаправлен на страницу с более длинным URL-адресом, который я и хочу получить.
Я пробовал методы в других сообщениях, используя запросы и urllib.request, но ни то, ни другое не работает. Что происходит? Как я могу получить перенаправленный URL-адрес в этом случае? Спасибо!
Например, если я введу https://www.tiktok.com/music/-7224086788926638082 в своем браузере, я буду перенаправлен на https://www. .tiktok.com/music/UNFORGIVEN-feat-Nile-Rodgers-7224086788926638082, именно это я и хочу получить. Однако все следующие коды возвращают исходный URL-адрес вместо перенаправленного:
import requests
url = 'https://www.tiktok.com/music/-7224086788926638082'
r = requests.get(url, allow_redirects=True)
print(r.url)
import urllib.request
url = 'https://www.tiktok.com/music/-7224086788926638082'
r = urllib.request.urlopen(url)
print(r.geturl())
import requests
url = 'https://www.tiktok.com/music/-7224086788926638082'
headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.5112.79 Safari/537.36'}
response = requests.head(url, headers=headers, allow_redirects=True)
print(response.url)
Подробнее здесь: https://stackoverflow.com/questions/785 ... -in-python