Pergunta

Eu tenho tentado a escrever esta aranha por semanas, mas sem sucesso. Qual é a melhor maneira para mim este código em Python:

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

2) a partir de url inicial pegar esses URLs com este 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) Vá para cada uma dessas URLs e raspar a informação da escola com esta 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) Escrever a informação escolar raspados para arquivo schools.csv

Você pode me ajudar a escrever esta aranha em Python? Eu tenho tentado escrevê-lo em Scrapy mas sem sucesso. Ver o meu anterior questão .

Obrigado.

Foi útil?

Solução

http://www.ibm.com/developerworks/linux/ biblioteca / l-aranha artigo / IBM com boa descrição

ou

http://code.activestate.com/recipes/576551/ Python livro de receitas , um código melhor, mas menos explicação

Outras dicas

Além disso, eu sugiro que você leia-se:

RegEx coincidir com as tags abertas, exceto XHTML auto -contained etiquetas

Antes de tentar analisar HTML com uma expressão regular. Então, pense sobre o que acontece nome forças pela primeira vez de alguém da página para ser Unicode em vez de Latin-1.

EDIT: Para responder à sua pergunta sobre uma biblioteca para uso em Python, gostaria de sugerir bonito Sopa, que é uma grande analisador HTML e suporte a unicode em todo (e faz um trabalho realmente bom com HTML mal formado, o que você vai encontrar todo o lugar).

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top