Seite 1 von 1

Den Text eines html anchor tag extrahieren

Verfasst: Montag 10. Juli 2017, 20:27
von hal9001
Hallo,

aus einer Psi Probe Site möchte ich gerne sie Sessions auslesen oder anders ausgedrückt, aus einem html Ancor Tag den Text extrahieren.

Ich habe es mit BeautifulSoup4 versucht. Aber mit .get_text() komme ich nicht weiter.

Wie würde denn ne gute Lösung meines Problems aussehen?

Code: Alles auswählen

from bs4 import BeautifulSoup as bs

# Ausschnitt des Psi Probe Quelltextes
probe = '''
<td>
<a href="/probe/servlets.htm?webapp=%2fserver">
                                      200052
                               </a>
</td>
<td>
<a href="/probe/sessions.htm?webapp=%2fserver&size=">
                                      149
                               </a>
</td>
<td>3620</td>
<td>
<a href="/probe/appattributes.htm?webapp=%2fserver">
                                      49
                               </a>
</td>

'''

soup = bs(probe, 'html.parser')
links = soup.find_all("a", class_="")
print(links)

Re: Den Text eines html anchor tag extrahieren

Verfasst: Montag 10. Juli 2017, 20:53
von BlackJack
@hal9001: Was möchtest Du denn aus dem Beispiel als Ergebnis haben?

Re: Den Text eines html anchor tag extrahieren

Verfasst: Montag 10. Juli 2017, 20:56
von hal9001
Ups, sorry! Das hätte ich ja mal verraten können ;)
Die 149 hätte ich gerne extrahiert.

Re: Den Text eines html anchor tag extrahieren

Verfasst: Montag 10. Juli 2017, 20:59
von BlackJack
Du willst also nach dem `href`-Inhalt filtern wenn ich das richtig sehe:

Code: Alles auswählen

In [15]: soup.find('a', href=lambda s: s.startswith('/probe/sessions.htm')).text.strip()
Out[15]: u'149'

Re: Den Text eines html anchor tag extrahieren

Verfasst: Montag 10. Juli 2017, 21:27
von hal9001
Danke BlackJack, so funktioniert es.