Получение списка всех церквей в определенном состоянии с использованием Python - PullRequest
0 голосов
/ 15 декабря 2009

Я довольно хорошо разбираюсь в Python, поэтому псевдокода будет достаточно, когда детали тривиальны. Пожалуйста, начните с этой задачи - как мне обходить сеть по почтовым адресам церквей в моем штате? Как только у меня будет один лайнер, такой как «123 Old West Road # 3 Old Lyme City MD 01234», я, вероятно, смогу разобрать его на город, штат, улицу, номер, достаточно проб и ошибок. Моя проблема в том, что если я использую белые страницы в Интернете, то как мне справиться со всеми нежелательными файлами HTML, таблицами HTML, рекламой и т. Д.? Я не думаю, что мне нужен их номер телефона, но это не повредит - я всегда могу выкинуть его, как только разберусь. Даже если ваше решение наполовину ручное (например, сохранить в pdf, затем открыть acrobat, сохранить как текст) - я, возможно, по-прежнему буду доволен. Спасибо! Черт возьми, я даже приму фрагменты Perl - я могу перевести их сам.

Ответы [ 5 ]

2 голосов
/ 15 декабря 2009

Прекрасный суп - это ежу понятно. Вот сайт, который вы могли бы начать с http://www.churchangel.com/. У них огромный список, и форматирование очень регулярное - перевод: легко настроить BSoup для чистки.

2 голосов
/ 15 декабря 2009

Вы можете использовать механизировать . Это библиотека Python, которая имитирует браузер, поэтому вы можете пролистывать белые страницы (аналогично тому, что вы делаете вручную).

Для того, чтобы разобраться с «html junk», у питона есть библиотека для этого: BeautifulSoup Это прекрасный способ получить нужные вам данные из HTML (конечно, предполагается, что вы немного разбираетесь в HTML, поскольку вам все равно придется перемещаться по дереву разбора).

Обновление: на ваш следующий вопрос о том, как нажимать на нескольких страницах. Mechanize - это библиотека, которая делает именно это. Присмотритесь к их примерам, особенно. метод follow_link. Как я уже сказал, он имитирует браузер, поэтому «щелчок» может быть быстро реализован в python.

2 голосов
/ 15 декабря 2009

То, что вы пытаетесь сделать, называется выскабливание или очистка веб-страниц.

Если вы выполните поиск на Python и очистку , вы можете найти список инструментов , которые помогут.

(я никогда не пользовался скрапом, но его сайт выглядит многообещающе:)

2 голосов
/ 15 декабря 2009

Попробуйте lynx --dump <url> загрузить веб-страницы. Все проблемные теги HTML будут удалены из вывода, и все ссылки со страницы появятся вместе.

1 голос
/ 15 декабря 2009

Сценарии Python, возможно, не лучший инструмент для этой работы, если вы просто ищете адреса церквей в географическом районе.

Перепись США предоставляет набор данных церквей для использования с географическими информационными системами. Если обнаружение всех x в пространственной области является постоянной проблемой, инвестируйте средства в изучение ГИС. Тогда вы сможете использовать свои навыки Python для решения многих географических задач.

...