nasıl güzel çorba iç içe geçmiş bir span class değeri ayıklamak?

oy
-2

Ben bu kod örneğinde 1,56 dir etiketi 'miktar' değerini, hurda Güzel çorba söylememe gerek unsurdur ne olduğunu anlamaya çalışıyorum mücadele ediyorum.

Ben kazımaya istediğiniz web sayfasının bir kod alıntısında altına yapıştırarak am:

<td class=line-content>
      <span class=html-tag>
       &lt;div
       <span class=html-attribute-name>
        class
       </span>
       ='
       <span class=html-attribute-value>
        the-price
       </span>
       '
       <span class=html-attribute-name>
        style
       </span>
       ='
       <span class=html-attribute-value>
        margin-top:20px;
       </span>
       '&gt;
      </span>
     </td>
    </tr>
    <tr>
     <td class=line-number value=447>
     </td>
     <td class=line-content>
      <span class=html-tag>
       &lt;span
       <span class=html-attribute-name>
        class
       </span>
       ='
       <span class=html-attribute-value>
        currency
       </span>
       '&gt;
      </span>
      <span class=html-tag>
       &lt;/span&gt;
      </span>
      <span class=html-tag>
       &lt;span
       <span class=html-attribute-name>
        class
       </span>
       ='
       <span class=html-attribute-value>
        amount
       </span>
       '&gt;
      </span>
      1,56
      <span class=html-tag>
       &lt;/span&gt;
      </span>
     </td>
    </tr>

Eğer nazikçe beni aydınlatabilir misiniz? Ben herhangi bir yardım için gerçekten minnettarım.

Oluştur 03/12/2019 saat 00:01
kaynak kullanıcı
Diğer dillerde...                            


1 cevaplar

oy
1

Böyle örneğin miktarını hedefleyebilir ( dataHTML dizedir):

from bs4 import BeautifulSoup
soup = BeautifulSoup(data, 'html.parser')

span_with_amount = soup.find(lambda tag: tag.name == 'span' and tag.get_text(strip=True) == 'amount')
value = span_with_amount.parent.find_next_sibling(text=True)
print(value.strip())

Baskılar:

1,56

Öncelikle bulacaksınız <span>metin "miktarı" ile ve sonra biz bu ebeveyni yanındaki metin bulacaksınız <span>.

Cevap 03/12/2019 saat 00:53
kaynak kullanıcı

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more