...html... <link rel="image_src" href="image.jpg" /> ....more html.... How to extract the image url using BeautifulSoup in Python
4 Réponses :
Essayez le sélecteur CSS ceci.
for item in soup.select('[rel="image_src"]'): print(item['href'])
J'ai essayé le 2e one, erreur de type type: l'objet n'est pas syndicalable code>
@ johnrao07: le code doit fonctionner correctement si votre soupe contient la balise et l'attribut que vous avez affiché?
Oui, la solution @furas est venue le plus proche ici
J'utilise Beautifulsoup 4.7 qui supportent le sélecteur CSS.May la raison
Essayez ceci:
links = soup.find_all("link", {"rel": True}) for link in links: print(link.attrs["href"])
si méfiez-vous qu'il n'ya peut-être pas de si vous souhaitez trouver soupe code> est l'objet
beauxoup code>, puis utilisez
href code> attribut, et dans ce cas,
lien ["href '] code> augmentera
keillerror code>. C'est pourquoi j'ai utilisé
link.get ('href') code> pour vérifier l'existence. P>
lien code> s avec
rel = "image_src" code>, utilisez p>
Utilisez Rechercher () code> ou
Find_All () CODE> Pour plus d'éléments
from bs4 import BeautifulSoup as BS
text = '''
<link rel="image_src" />
<link rel="image_src" href="image1.jpg" />
<link rel="sound_src" href="hello.mp3" />
<link rel="image_src" href="image2.jpg" />
'''
soup = BS(text, 'html.parser')
for item in soup.find_all('link', {'href': True, 'rel': "image_src"}):
print(item['href'])
D'accord, j'ai fait avec Trouver et j'ai la solution ici, avec l'image_url.attrs ['href'] combinant le vôtre et @wonka réponse
Mon code utilise également ['href'] code> - donc cela donne aussi l'URL :)
Soupe.Find ('Link') ['href'] code>?
@Furas Non Il y a beaucoup de
Ensuite, utilisez
wind_all () code> -
pour l'élément dans Find_All ("lien"): Code> Prin (article ['href']) `
@furas je voudrais que une URL spécifique
Ensuite, utilisez plus d'options dans
Find_All code> - comme
{'href': true, "rel ':" image_src'} code>. Ou si ce lien est dans une autre balise unique, trouvez d'abord cette balise et recherchez ultérieurement à l'intérieur de cette balise.
Il existe sur une ligne indépendante
Beautifulsoup ne se soucie pas si c'est dans la ligne Indenpende. Vous devez trouver une balise pour la limiter. Vous devez donc montrer plus de HTML en question car la question actuelle est incomplète. Vous ne demandez que comment obtenir l'URL d'image à partir de ce HTML et vous avez de nombreuses réponses.