Существуют ли строительные блоки для поисковой системы, которая будет очищать другие сайты? - PullRequest
1 голос
/ 18 июня 2009

Я хочу создать поисковый сервис для одной конкретной вещи. Данные в свободном доступе доступны через бесплатные секретные сервисы и множество других сайтов.

Есть ли строительные блоки, например, сканеры с открытым исходным кодом, которые я мог бы настраивать, а не создавать с нуля, которые я могу использовать?

Какой-нибудь совет по созданию такого продукта? Не только технические, но и любые конфиденциальные / юридические вопросы, которые мне, возможно, придется принять во внимание.

например. мне нужно «отдать должное», откуда взяты результаты, и поставить ссылку на оригинал - если я получу их из многих мест?

Редактировать: Кстати, я использую GWT с JS для внешнего интерфейса, пока не определился с языком для внутреннего интерфейса. Либо PHP, либо Python. Мысли?

Ответы [ 2 ]

2 голосов
/ 18 июня 2009

В python есть несколько блоков, которые вы можете использовать.

  1. beautifulsoup [http://www.crummy.com/software/BeautifulSoup/] для разбора HTML. Он также может обрабатывать плохой код, и его API очень прост ... намного лучше, чем любой DOM-подобный инструмент для меня. Мой друг использовал его, чтобы успешно очистить свой старый форум phpbb. У него довольно хорошие документы.
  2. mechanize [http://wwwsearch.sourceforge.net/mechanize/] - это клиентская библиотека http, имитирующая веб-браузер. Он обрабатывает печенье, заполнение форм и так далее. Также прост в использовании, но помогает, если вы понимаете, как работает http.
  3. http://dev.scrapy.org/ - это относительно новая вещь: целый скребковый каркас, основанный на витой. Я не играл с этим много.

Я использую первые два для своих нужд; F.E. ему нужно 20 строк кода, чтобы получить инструмент автоматического тестирования для трехэтапного опроса с имитацией ожидания ввода данных пользователем и т. д.

0 голосов
/ 18 июня 2009

Я сделал скребок в Ruby, который занял около пяти минут. По-видимому этот чувак имеет до 60 секунд! Я не уверен, является ли Ruby настолько масштабируемым или быстрым, как вы ищете, но я никогда не видел более быстрого пути к проверке концепции или прототипу.

Секретом является библиотека с именем " hpricot ", которая была создана именно для этой цели.

Я ничего не знаю о PHP или Python или о том, что доступно для этих систем / языков разработки.

Удачи!

...