Frage

Ich habe versucht, diese Spinne für Wochen zu schreiben, aber ohne Erfolg. Was ist der beste Weg für mich, dies in Python-Code:

1) Anfängliche url: http://www.whitecase.com/Attorneys/List.aspx?LastName=A

2) von der ersten URL holen diese URLs mit dieser Regex oben:

hxs.select('//td[@class="altRow"][1]/a/@href').re('/.a\w+')

[u'/cabel', u'/jacevedo', u'/jacuna', u'/aadler', u'/zahmedani', u'/tairisto', u
/zalbert', u'/salberts', u'/aaleksandrova', u'/malhadeff', u'/nalivojvodic', u'
....
Go

3) diese URLs zu jedem und kratzen die Schule info mit dieser Regex

hxs.select('//td[@class="mainColumnTDa"]').re('(?<=(JD,\s))(.*?)(\d+)'

[u'JD, ', u'University of Florida Levin College of Law, <em>magna cum laude</em> , Order of the Coif, Symposium Editor, Florida Law Review, Awards for highest grades in Comparative Constitutional History, Legal Drafting, Real Property and Sales, ', u'2007']

4) Schreiben Sie die geschabt Schule info in schools.csv Datei

Können Sie mir helfen, diese Spinne in Python schreiben? Ich habe versucht, es in Scrapy zu schreiben, aber ohne Erfolg. Siehe meine vorherige Frage .

Danke.

War es hilfreich?

Lösung

http://www.ibm.com/developerworks/linux/ Bibliothek / l-Spinne / IBM Artikel mit einem guten Beschreibung

oder

http://code.activestate.com/recipes/576551/ Python Kochbuch , besserer Code, aber weniger Erklärung

Andere Tipps

Auch ich schlage vor, Sie lesen:

RegEx Spiel offen Tags außer XHTML Selbst -contained Tags

Bevor Sie versuchen, HTML mit einem regulären Ausdruck zu analysieren. Dann denken, was passiert, das erste Mal, wenn jemand den Namen zwingt die Seite anstelle von Latin-1 Unicode werden.

EDIT: Um Ihre Frage zu einer Bibliothek beantwortet in Python zu verwenden, würde ich vorschlagen Schöne Suppe, das ist ein großer HTML-Parser und unterstützt Unicode überall (und macht einen wirklich guten Job mit ungültigen HTML, die Sie gehen überall zu finden).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top