Question

J'essaie d'écrire cette araignée depuis des semaines mais sans succès. Quel est le meilleur moyen pour moi de le coder en Python:

1) URL initiale: http://www.whitecase.com/Attorneys/List.aspx?LastName=A

2) depuis l'URL initiale, récupérez ces URL avec cette regex:

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'
....

3) Accédez à chacune de ces URL et récupérez les informations sur l'école avec cette expression régulière

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) Écrivez les informations sur l’école récupérées dans le fichier schools.csv

Pouvez-vous m'aider à écrire cette araignée en Python? J'ai essayé de l'écrire dans Scrapy mais sans succès. Voir ma question précédente.

Merci.

Était-ce utile?

La solution

http://www.ibm.com/developerworks/linux/ bibliothèque / l-spider / article IBM avec une bonne description

ou

http://code.activestate.com/recipes/576551/ livre de recettes Python , meilleur code mais moins d'explication

Autres conseils

En outre, je vous suggère de lire:

balises de correspondance RegEx ouvertes sauf XHTML self balises contenues

Avant d'essayer d'analyser le code HTML avec une expression régulière. Puis réfléchissez à ce qui se passe la première fois que le nom de quelqu'un force la page à être unicode au lieu de latin-1.

EDIT: pour répondre à votre question sur une bibliothèque à utiliser en Python, je suggérerais Beautiful Soup, , qui est un excellent analyseur HTML et qui prend toujours en charge l’unicode (et fait un très bon travail avec du HTML mal formé, que vous allez trouver partout).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top