【问题标题】:Extracting image source using beautiful soup使用美汤提取图像源
【发布时间】:2016-08-17 13:16:39
【问题描述】:

我需要从下面的 url 中提取具有“所有者”类的 div 中的 img 标签的图像源。

foodily.com

结构如下:

    <div class="owner">
        <a href="/u/celinesteen">
           <img src="http://img07.foodily.net/img/50x50/6c4b366907eb.jpg"></a>
        <div class="data">
           <div class="name">By
             <a data-ftrack="{&quot;a&quot;:&quot;SU&quot;,&quot;b&quot;:&quot;SULT&quot;,&quot;c&quot;:&quot;Have Cake Will Travel&quot;}" class="_track" rel="nofollow" target="_blank" href="/u/celinesteen">Have Cake Will Travel</a>
            </div>
        </div>
</div>

我试过了:

 soup.find('div', {"class": "owner"}).findChildren('img') 

它会返回整个图像标签,而我只需要其中的源代码。

【问题讨论】:

    标签: django python-2.7 beautifulsoup


    【解决方案1】:

    一旦找到img 元素,就可以使用dictionary-like access to its attributes

    soup.find('div', {"class": "owner"}).img['src']
    

    您还可以使用CSS selector 一次性访问img 元素:

    soup.select_one('.owner img')['src']
    

    【讨论】:

    • 非常感谢。将在 5 分钟内接受您的回答。
    【解决方案2】:

    findChildren 返回一个标签数组。尝试从这些获取src 属性:

    images = s.find('div', {"class": "owner"}).findChildren('img')
    for img in images:
            img.get('src')
    

    打印:

    'http://img07.foodily.net/img/50x50/6c4b366907eb.jpg'
    

    查看documentation 了解更多信息。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-09-11
    • 1970-01-01
    • 2022-11-30
    • 2015-03-18
    • 2012-08-01
    • 2017-12-11
    • 1970-01-01
    • 2015-10-21
    相关资源
    最近更新 更多