9
votes

L'image src basée extraire l'attribut avec BeautifulSoup

J'utilise Beautifulsoup pour obtenir une page HTML à partir de IMDB et j'aimerais extraire l'image de l'affiche de la page. J'ai l'image basée sur l'un des attributs, mais je ne sais pas comment extraire les données à l'intérieur.

Voici mon code: P>

url = 'http://www.imdb.com/title/tt%s/' % (id)
soup = BeautifulSoup(urllib2.urlopen(url).read())
print("before FOR")
for src in soup.find(itemprop="image"): 
    print("inside FOR")
    print(link.get('src'))


0 commentaires

4 Réponses :


11
votes

Vous êtes presque là - juste quelques erreurs. Soupe.Find () Obtient le premier élément qui correspond, pas une liste, de sorte que vous n'avez pas besoin de le déplacer. Une fois que vous avez eu l'élément, vous pouvez obtenir ses attributs (comme src ) à l'aide de l'accès au dictionnaire. Voici une version retravaté: xxx

J'ai changé id à film_id , car ID () est une fonction intégrée, et c'est une mauvaise pratique de masquer ceux-ci.


0 commentaires

5
votes

Je crois que votre exemple est très proche. Vous devez utiliser Findallall () au lieu de trouver () et lorsque vous ithétiez, vous passez de SRC à lien. Dans l'exemple ci-dessous, je l'ai commuté sur Tag

Ce code fonctionne pour moi avec beauxoup4: xxx


0 commentaires

2
votes

Si je comprends correctement, vous recherchez le SRC de l'image, pour l'extraction de celui-ci après cela.

En premier lieu, vous devez trouver (à l'aide de l'inspecteur) dans quelle position dans le HTML est l'image. . Par exemple, dans mon cas de particules que je scélérais des boucliers de l'équipe de football, j'avais besoin de: xxx

alors, vous devez traiter l'image. Vous devez avoir des options.

1st: en utilisant numpy numpy : xxx

bouclier = url_to_image (shield_url) < p> 2e en utilisant la bibliothèque SCIKIT-image (que vous aurez probablement besoin d'installer): xxx

Note: Juste Dans cet exemple particulier, j'ai besoin d'ajouter http: au début.

espère qu'il aide!


0 commentaires

0
votes

Voici un exemple de travail complet avec Gazpacho :

Étape 1 forte > - Importer tout et télécharger le HTML: P>

directory = "images"
Path(directory).mkdir(exist_ok=True)

extension = image.split('.')[-1]
download(image, f"{directory}/{id}.{extension}")


0 commentaires