J'ai pas forcement tout compris mais dans ton premier code tu utilises un parser pour récupérer toutes les balises <a /> et en extraire le lien href et le contenu textuel.
Par contre dans le 2eme (je ne connais pas BeautifulSoup mais on peut essayer de deviner), on dirait que tu prend toutes les balises ayant un attribut data-img (image_links = [x['data-img']) et qu'en suite tu boucles sur ces "noeuds" pour trouver des enfants <a /> ayant l'attribut rel='popover' (for x in soup.find_all('a', rel='popover')]).
Clairement, tout ça ne vas pas t'aider à trouver la valeur d'attribut "src" dans des <img />
Encore une fois plutôt que copier / coller des fragments de code essaye de comprendre la logique des sélecteurs et des boucles dans BeautifulSoup.
J’imagine que pour cibler des <img /> dans des <a /> tu dois pouvoir faire un truc du genre :
Code :
- data = page.text
- soup = BeautifulSoup(data, features="html.parser" )
- for link_brut in soup.find_all('a'):
- for img_brut in link_brut.find_all('img'):
- src= img_brut.get('src')
|
Message édité par mechkurt le 12-06-2023 à 12:33:57
---------------
D3