【问题标题】:Beautiful Soup: extracting picture url from webpageBeautiful Soup:从网页中提取图片 url
【发布时间】:2017-10-22 14:55:45
【问题描述】:

所以目前我在尝试使用漂亮的汤从网页中提取图片 URL 时遇到了一些问题。我对漂亮的汤非常缺乏经验,如果您对我有任何反馈,我将不胜感激。这是我试图从中提取图片链接的 HTML 的 sn-p(更具体地说,是源媒体标签中的 data-srcset URL):

<div class="container-fluid" itemscope="" itemtype="http://schema.org/Product">

  <div class="row">
    <div id="js_carousel" class="col-xs-12 col-md-8">
      <div id="psp-carousel" class="carousel_outer">
        <div id="product-carousel" class="pdp-carousel carousel pdp-initial" style="display:block;">
          <!-- Wrapper for slides -->
          <div class="carousel-inner" id="carousel-inner" role="listbox">
            <img class="product-image-placeholder" itemprop="image" alt="..." src="data:image/svg+xml;charset=utf-8,%3Csvg xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg' viewBox%3D'0 0 355 462'%3E %3Crect fill%3D'%23eee' width%3D'100%25' height%3D'100%25'%2F%3E%3C%2Fsvg%3E" width="355" height="462">
            <picture class="item active" data-image="//s7d2.scene7.com/is/image/aeo/1162_8725_499_of" role="option" aria-selected="true" tabindex="0">
              <source media="(max-width: 767px)" data-srcset="//s7d2.scene7.com/is/image/aeo/1162_8725_499_of?$pdp-main_small$" srcset="//s7d2.scene7.com/is/image/aeo/1162_8725_499_of?$pdp-main_small$">

任何时候我尝试使用这条线 my_imgs = page_soup.findAll('picture',{'class':'item active'}) 我得到一个空数组。如果这是一个愚蠢的问题,我深表歉意,但我们将不胜感激。

【问题讨论】:

  • 试试 findAll("picture", class_="item active")
  • 刚刚尝试了@Olllaw,不幸的是它也返回了一个空数组:(不过感谢您的建议。

标签: python html python-2.7 beautifulsoup html-parsing


【解决方案1】:

您是否尝试过对 bs4 实例使用 .select() 函数? documentation 表示这是在 HTML 汤中查找 css 元素的首选方法。所以在这种情况下使用page_soup.select('picture[class="item active"]') 而不是.findall() .find().findAll() 用于旧版本的 Beautiful Soup。阅读文档,您的旧版本代码似乎应该格式化为 my_imgs = page_soup.findAll('picture', attrs ={'class':'item active'}) 而不是 my_imgs = page_soup.findAll('picture',{'class':'item active'}) 您忘记包含代码的 attrs 部分来创建一个字典,然后漂亮的汤使用该字典以防具有名称的数据属性不能用作关键字参数

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-10-24
    • 1970-01-01
    • 2021-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多