Вопрос

Я пытался написать этого паука в течение нескольких недель, но безуспешно.Каков наилучший способ для меня закодировать это на Python:

1) Начальный URL-адрес: http://www.whitecase.com/Attorneys/List.aspx?LastName=A

2) из исходного URL выберите эти URL-адреса с помощью этого регулярного выражения:

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) Перейдите по каждому из этих URL-адресов и очистите информацию о школе с помощью этого регулярного выражения

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) Запишите очищенную информацию о школе в файл schools.csv

Можете ли вы помочь мне написать этого паука на Python?Я пытался написать это на Scrapy, но безуспешно.Посмотрите мой предыдущий вопрос.

Спасибо.

Это было полезно?

Решение

http://www.ibm.com/developerworks/linux/library/l-spider/ Статья IBM с хорошим описанием

или

http://code.activestate.com/recipes/576551/ Поваренная книга на Python, лучший код, но меньше объяснений

Другие советы

Кроме того, я предлагаю вам прочитать:

Регулярное выражение соответствует открытым тегам, за исключением автономных тегов XHTML

Прежде чем вы попытаетесь разобрать HTML с помощью регулярного выражения.Затем подумайте о том, что происходит в первый раз, когда чье-то имя вынуждает страницу использовать unicode вместо latin-1.

Редактировать:Чтобы ответить на ваш вопрос о библиотеке для использования в Python, я бы предложил Прекрасный Суп, который является отличным парсером HTML и повсюду поддерживает unicode (и действительно хорошо справляется с искаженным HTML, который вы найдете повсюду).

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top