«Сканирование» страницы / сайта по ключевым словам - PullRequest
0 голосов
/ 14 июля 2010

В прошлом году я немного увлекся программированием на Perl. Первое, что я написал, был простой скрипт, который брал веб-страницу и узнавал, сколько раз слово или имя было на этой странице. Я называю это "ползать", это правильно? Мне было интересно, если это родной процесс для других языков, таких как PHP и ROR. По сути, я хочу создать свой собственный «API» для сайта без общедоступного «API» и, возможно, динамически передавать ключевые слова из другого «API» с другого сайта (просто для чтения и организации открытых данных). Извините за высокий уровень абстракции, моя голова только что была в облаках в последнее время.

Ответы [ 2 ]

4 голосов
/ 14 июля 2010

Ваша проблема очень легко решаема, и на самом деле многие люди / компании уже сделали это, но, увы, вы долго не работали. Грубо говоря, «сканирование» обычно относится к поиску в Интернете по ширине или глубине с использованием тегов привязки на html-страницах в качестве границ между узлами.

То, что вы делали в Perl, было просто поиском строки html.

Для вашего API я бы предложил найти DOM-парсер, чтобы вам не пришлось возиться с парсингом html-строк и присущими им ошибками.

Несколько лет назад я хотел получить некоторые данные о ценах на квартиры в регионах штата Массачусетс, поэтому я написал небольшую программу-обходчик, чтобы извлечь все списки квартир из craigslist и выбросить их в базу данных.

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

О да, и это было в PHP ...

2 голосов
/ 14 июля 2010

Если я правильно понимаю, вы хотите взять URL-адрес, передать его в свою программу и просканировать сайт, ища предоставленные пользователем ключевые слова?

Если это правильно, то нет, это не такродной процесс для ЛЮБОГО языка, и вам придется самостоятельно писать необходимую логику.

Каждый язык / фреймворк (и, пожалуйста, обратите внимание, что ROR - это не язык, это фреймворк, построенный на языке Ruby).это инструменты, которые могут вам помочь (например, в Ruby вы должны взглянуть на камень Nokogiri для разбора HTML), но вам придется предоставить основную часть логики.

Itэто не очень сложно сделать, но это займет некоторое время и усилия.Желаем удачи.

...