Jak mohu extrahovat s krásným polévkou vnořené třídy hodnotu rozpětí?

hlasů
-2

Jsem potýká se snaží přijít na to, co je prvek, musím říct, krásné polévku do šrotu hodnotu ‚množství‘ tag, který je v této ukázce kódu je „1,56“.

Jsem vkládání pod kódem výňatku z webové stránky chci šrot:

<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>

bys mi laskavě osvítit? Jsem opravdu vděčný za jakoukoliv pomoc.

Položena 03/12/2019 v 00:01
zdroj uživatelem
V jiných jazycích...                            


1 odpovědí

hlasů
1

Můžete cílit na částku například takto ( dataje vaše HTML string):

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())

tiskne:

1,56

První najdeme <span>s textem „množství“ a pak najdeme text, který je v těsné blízkosti rodiče to <span>.

Odpovězeno 03/12/2019 v 00:53
zdroj uživatelem

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