10 Stimmen

Python-Bibliothek zu tun jQuery-ähnliche Textextraktion?

Ich habe eine HTML-Datei mit Einträgen wie diesem:

<div class="entry">
  <h3 class="foo">
    <a href="http://www.example.com/blog-entry-slug"
    rel="bookmark">Blog Entry</a>
  </h3>
  ...
</div>

und ich möchte den Text "Blog-Eintrag" extrahieren (und eine Reihe anderer Attribute, daher suche ich nach einer allgemeinen Antwort).

In jQuery, würde ich tun

$('.entry a[rel=bookmark]').text()

Das, was ich in Python am ehesten finden konnte, ist:

from BeautifulSoup import BeautifulSoup
import soupselect as soup

rawsoup = BeautifulSoup(open('fname.html').read())

for entry in rawsoup.findAll('div', 'entry'):
    print soup.select(entry, 'a[rel=bookmark]')[0].string.strip()

Suppe auswählen aus http://code.google.com/p/soupselect/ .

Soupselect versteht nicht die volle CSS3-Selektor-Syntax, wie es jQuery jedoch tut. Gibt es so ein Biest in Python?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X