Es gibt viele da draußen auf BeautifulSoup, aber ich kann nichts finden, was dies beantwortet ... Ich möchte den Text zwischen zwei Bits HTML durch die Angabe des Bits extrahieren von Text vor und nach im Code. Ich kann dies tun mit Outwit Python-Modul, sondern müssen BeautifulSoup diese Zeit nutzen ...Extract Text zwischen zwei Textstrings von der Webseite mit BeautifulSoup und Python
Die Bit der Seiten, die ich will, ist die Benutzernamen unter:
<a class="generic_class" href="/people/username">
Also, ich möchte beautifulsoup angeben zu kratzen der Benutzername, indem sie es sagen
'a class="generic_class" href="/people/'
vor dem Bit zu suchen zu kratzen und zu stoppen, nachdem
'"'
Ich will es dann aus einer CSV diese in einer Schleife von Urls tun (das bereits funktioniert) und dann durch die Leitung zu einem neuen csv (dieses Bit wahrscheinlich nicht funktioniert), um die Ergebnisse Zeile anhängen:
for row in url_reader:
url = row[0]
page = br.open(url).read()
soup = BeautifulSoup(br.response().read())
user = soup.findAll('<a class="generic_class" href="/people/') # this is the line where the code that works should go! Obviously this bit does nothing as it doesn't extract what comes after, stopping at the closing quotation mark for the end of the href.
page.append.user(output_file) # not sure if this is right?!
Offensichtlich würde ich dies in einem if/else zu if (findet "page not found") und sonst (mach das Ding oben) mit URLs, die nicht funktionieren, behandeln, aber ich werde es tun arbeite die Fehlerbehandlung ab sobald ich die Sache tatsächlich zum Funktionieren bringen kann! Das ist meine Priorität jetzt ...
Jede Hilfe sehr geschätzt.
That gibt mir AttributeError: 'set' Objekt hat kein Attribut 'items' –
Nicht sicher, wo hast du diesen Fehler aus, habe ich dies zu testen: html_doc = ""“
Tracelack sagt die erste Zeile Ihrer vorgeschlagenen Antwort :( –