Вопрос по scrape, html, python, beautifulsoup – BeautifulSoup: извлекать данные

3

У меня есть следующее изображение HTML, и я пытаюсь проанализировать информацию, которая находится в alt. В настоящее время я могу успешно извлекать изображения.

html (что я сейчас разбираю

<img class="rslp-p" alt="Sony Cyber-shot DSC-W570 16.1 MP Digital Camera - Silver" src="http://i.ebayimg.com/00/$(KGrHqZ,!j!E5dyh0jTpBO(3yE7Wg!~~_26.JPG?set_id=89040003C1" itemprop="image" />

Я строю имя изображения из того, что я анализирую:

Текущий код

def main(url, output_folder="~/images"):
         """Download the images at url"""
         soup = bs(urlopen(url))
         parsed = list(urlparse.urlparse(url))
         count = 0
         for image in soup.findAll("img"):
             print image
             count += 1
             print count
             print "Image: %(src)s" % image
             image_url = urlparse.urljoin(url, image['src'])
             filename = image["src"].split("/")[-1].split("?")[0].replace("$",'').replace(".JPG",".jpg").replace("~~_26",str(count)).lstrip("(")
             parsed[2] = image["src"]
             outpath = os.path.join(output_folder, filename)
             urlretrieve(image_url, outpath)

Что я хотел бы сделать, это извлечь

alt="Sony Cyber-shot DSC-W570 16.1 MP Digital Camera - Silver"

Также я хочу использовать альтернативные данные в качестве имени файла при извлечении изображения.

Ты используешьimage['src'] чтобы получить источник. Вы не можете просто использоватьimage['alt'] чтобы получить альтернативу, или я неправильно понимаю ваш вопрос? BrtH

Ваш Ответ

1   ответ
9

Внутри вашегоfor цикл, вы можете получить это, просто делая

image.get('alt', '')

Это объясняется вBeautifulSoup документация (& quot; Атрибуты тегов & quot;).

на самом деле некоторые из них не имеют, я пытаюсь избежать тех, которые не имеют Null-Hypothesis
@GonzaloDelgado спасибо, как я могу добавить альтернативную информацию в качестве имени файла ..? Null-Hypothesis
отредактированный ответ, он должен работать для случая @anyaMairead упоминает
ключевая ошибка означает, что конкретный тег img не имеет атрибута alt. Вы уверены, что каждое изображение на странице имеет альтернативный текст, связанный с ним?
Это то, что я тоже так думал, но я получаю ошибку ключа. Null-Hypothesis

Похожие вопросы