4

次の画像 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"

また、画像を抽出するときにファイル名として alt データを使用したいと考えています。

4

1 に答える 1

11

ループ内で、次のforようにするだけでそれを取得できます

image.get('alt', '')

これについては、BeautifulSoup のドキュメント(「タグの属性」) で説明されています。

于 2012-07-27T23:23:56.077 に答える