J'ai besoin de récupérer tous les liens avec les albums de l'artiste depuis la page Genius. Tous les liens se trouvent dans le cinquième étiquette préchargement-contenu valeur de attribut données préchargées_données . Cette valeur est stockée dans var string en tant que str.
J'ai essayé d'extraire tous les liens commençant par 'https://genius.com/albums/' et se terminant par ',' mais cela n'a pas fonctionné. Lorsque je n'ai pas utilisé le signe $ pour la fin, j'ai obtenu la bonne quantité de liens mais sans la partie finale nécessaire.
import urllib.request, urllib.parse, urllib.error
from bs4 import BeautifulSoup
import ssl
from urllib.request import Request, urlopen
import re
name = input('Rapper - ')
url = 'https://genius.com/artists/'+name+''
hdr = {'User-Agent': 'Mozilla/5.0'}
req = Request(url,headers=hdr)
html = urlopen(req)
soup = BeautifulSoup(html, 'html.parser')
hrefs = soup.find_all("preload-content")
string = hrefs[5]['data-preload_data']
result = re.findall('(https://genius.com/albums/'+name+'.,$)', string)
print(result)