Jak wyodrębnić z pięknym zupy zagnieżdżony rozpiętość wartości klasy?

głosy
-2

Walczę próbuje dowiedzieć się, co jest elementem muszę powiedzieć Piękne Soup na złom wartość „ilość” tag, który w tym próbki kodu jest „1,56”.

Ja wklejając poniżej fragmencie kodu stronie chcę skrobać:

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

byś łaskawie mnie oświecić? Jestem bardzo wdzięczny za wszelką pomoc.

Utwórz 03/12/2019 o 00:01
źródło użytkownik
W innych językach...                            


1 odpowiedzi

głosy
1

Możesz kierować kwotę na przykład tak ( datajest ciąg 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())

druki:

1,56

Pierwszy znajdziemy <span>z tekstem „ilość”, a potem znajdzie się tekst, który jest obok rodzica to <span>.

Odpowiedział 03/12/2019 o 00:53
źródło użytkownik

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