Domanda è stato coinvolto nel web scraping

OliWan

Utente Bronze
15 Luglio 2022
20
15
0
23
Ciao,
Usando Python e BeautifulSoup, sto tentando di raschiare alcuni URL di immagini da un sito web. Sto usando il seguente codice:
Codice:
import requests
from bs4 import BeautifulSoup

url = 'https://example.com/images'
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')

image_tags = soup.find_all('img')
for img_tag in image_tags:
    image_url = img_tag['src']
    print(image_url)
Sfortunatamente, il codice non ottiene alcun URL immagine come dovrebbe, come accade su questo blog, e non ricevo alcun errore. Ho esaminato l'HTML della pagina e gli elementi img> includono effettivamente la proprietà "src" con gli URL delle immagini. Non sono sicuro del motivo per cui il codice non funziona correttamente. Potresti aiutarmi a determinare cosa c'è di sbagliato nel mio approccio?
 
Ciao, l'errore lo commetti nel ciclo for, in quanto dovresti utilizzare il metodo get() ad ogni iterazione per ottenere il link dell'immagine. Il codice corretto e funzionante è questo (ho utilizzato un altro sito come esempio, ma il discorso è lo stesso, a meno che non cambino i relativi tag del codice sorgente):

Python:
import requests
import bs4

url = "https://www.splitshire.com/"
response = requests.get(url).text
soup = bs4.BeautifulSoup(response)

image_tags = soup.find_all('img')
for img_tag in image_tags:
    image_url = img_tag.get('src')
    print(image_url)

Spero di essere stato d'aiuto. Se hai altri dubbi, chiedi pure. ;)
 
  • Mi piace
Reazioni: Psychonaut