BeautifulSoup verwenden, um HTML nach Zeichenfolgen zu durchsuchen
Ich bin mit BeautifulSoup zu suchen Benutzer eingegebene strings auf eine bestimmte Seite.
Zum Beispiel, ich möchte, um zu sehen, wenn der string 'Python' befindet sich auf der Seite: http://python.org
Wenn ich verwendet:
find_string = soup.body.findAll(text='Python')
find_string zurückgegeben []
Aber wenn ich verwendet:
find_string = soup.body.findAll(text=re.compile('Python'), limit=1)
find_string zurückgegeben [u'Python Jobs']
wie erwartet
Was ist der Unterschied zwischen diesen beiden Aussagen, dass macht die zweite Anweisung arbeiten, wenn es mehr als ein vorkommen des Wortes gesucht werden
InformationsquelleAutor der Frage kachilous | 2012-01-20
Du musst angemeldet sein, um einen Kommentar abzugeben.
Folgende Zeile suchen für die genaue NavigableString 'Python':
Beachten Sie, dass die folgenden NavigableString gefunden:
Hinweis: dieses Verhalten:
Also deine regexp auf der Suche nach einem auftreten von 'Python' nicht die exakte übereinstimmung der NavigableString 'Python'.
InformationsquelleAutor der Antwort sgallen
text='Python'
sucht nach Elementen, die den genauen text, den Sie zur Verfügung gestellt:- Ausgang
"Um zu sehen, ob der string 'Python' befindet sich auf der Seite http://python.org":
Wenn Sie brauchen, um die position der Teilzeichenfolge innerhalb einer Zeichenfolge, die Sie tun könnten
html.find('Python')
.InformationsquelleAutor der Antwort jfs
Habe ich nicht verwendet BeuatifulSoup aber vielleicht sind die folgenden können helfen, in einigen kleinen Weg.
Ich bin nicht dafür, dies ist ein Ersatz-aber vielleicht haben Sie Lesen können, einige Wert in das Konzept, bis eine direkte Antwort kommt.
InformationsquelleAutor der Antwort Bit Bucket