2017-05-22 50 views
1

因此,目前我有一些問題試圖從美麗的湯,從網頁中提取圖片的網址。我對美麗的湯很缺乏經驗,並會感謝您對我的任何反饋。下面是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'}) 我得到一個空數組。我很抱歉,如果這是一個愚蠢的問題,但任何幫助,將不勝感激。

+0

嘗試findAll(「picture」,class _ =「item active」) – Ollaw

+0

剛剛嘗試過@Olllaw,它不幸返回了一個空數組:(儘管感謝您的建議。 –

回答

0

您是否嘗試過使用.select()函數實現bs4實例? 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代碼部分來創建一個字典,美麗的湯然後使用incase數據屬性的名稱不能被用作關鍵字參數