靓汤:从网页中提取图片网址

2024-10-03 13:22:18 发布

您现在位置:Python中文网/ 问答频道 /正文

所以,目前我有一些问题,试图提取一个图片网址从网页使用美丽的汤。我对靓汤没有经验,如果您能给我任何反馈,我将不胜感激。下面是我试图从中提取图片链接的HTML片段(更具体地说,源媒体标记中的数据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'}) 我得到一个空数组。我很抱歉,如果这是一个愚蠢的问题,但任何帮助将不胜感激。在


Tags: ofimagedivcomiddataiscol
1条回答
网友
1楼 · 发布于 2024-10-03 13:22:18

您是否尝试过对bs4实例使用.select()函数?documentation表示这是在HTML汤中查找css元素的首选方法。所以在本例中使用page_soup.select('picture[class="item active"]'),而不是.findall().find()和{}是为老版本的靓汤设计的。阅读文档,你的旧版本的代码应该格式化为my_imgs = page_soup.findAll('picture', attrs ={'class':'item active'})而不是{}你忘了包括代码的attrs部分来创建一个字典,beauty soup会使用它来创建一个字典,而beauty soup则使用这个字典,因为数据属性的名称不能用作关键字参数

相关问题 更多 >