Come posso estrarre con una bella zuppa di un valore span class annidata?

voti
-2

Ho difficoltà a cercare di capire qual è l'elemento che ho bisogno di dire a Bella Zuppa di rottamare il valore del tag 'quantita', che in questo esempio di codice è 1,56.

Sto incollando di sotto di un estratto di codice della pagina web che voglio raschiare:

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

vuoi gentilmente illuminarmi? Sono molto grato per qualsiasi aiuto.

È pubblicato 03/12/2019 alle 00:01
fonte dall'utente
In altre lingue...                            


1 risposte

voti
1

È possibile indirizzare l'importo per esempio come questo ( dataè la stringa HTML):

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

stampe:

1,56

In primo luogo ci troveremo <span>con il testo "quantità" e poi troveremo il testo che si trova accanto al padre di questo <span>.

Risposto il 03/12/2019 a 00:53
fonte dall'utente

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