Общение


Пример № 3: закачка контента в БД - часть 2


openbrowser "http://www.aviso.com.ua/aviso/ads/kiv/" &prefix&"/"&pagename&".asp",'','','','',True getbrowserdata

opendb 'avizo' table 'ads'

while true { match "<font size=+1>Aviso newspaper {issue}. Rubric {rubric}.{rubname}</font>" match "<br><br>" push. match "{lines}<BR><BR><BR><BR>" pop push lines while (match ("{pline}<br><br>")) { if contains (pline,'б/у')&&contains (pline,'удио') { addrecord #avizorec } } pop

match "<A HRef=\"{lnextp}.asp\">- NEXT - </A><BR>" else { break 2 } browse "http://www.aviso.com.ua/aviso/ads/kiv/" &prefix&"/"&dbsec&"/"&lnextp&".asp" getbrowserdata } closedb closebrowser

Как видно, здесь применяется комбинированный подход - сначала осуществляется поиск нужной страницы с помощью get (URL имеет прихотливый и непредсказуемый вид, так что приходится исследовать ссылки), а после, во избежание работы к куками, закачивается собственно информация - можете переделать этот фрагмент с использованием get и посмотреть, что получится. Результат в данном случае сохраняется в базе данных - предполагается, что вы предварительно создали ODBC-источник с именем avizo и что эта БД содержит таблицу adv. В дальнейшем нам ничего не мешает снова использовать NQL для работы с этими данными.

Пример реализации этой технологии: периодическое выкачивание предложений работы по заданному критерию (допустим, с такого мегапортала, как dice.com) и массовая рассылка резюме по найденным адресам (это вовсе не спам - там оставляют свои адреса как раз затем, чтобы им присылали резюме; да и как же иначе должен рассылать программист, если не автоматически?). Поскольку данные изменяются сравнительно медленно (скажем, раз в сутки-двое), а рассылки (гипотетически) производятся по несколько раз в день, то окажется выгодным закачивать данные один раз и хранить их в БД для последующего использования.

* * *

Всё, о чем тут шла речь, это только верхушка айсберга. Каждый из вас придумает (если уже не придумал) десятки применений своим агентам - от закачки бизнес-котировок до системы управления контентом, поиска квартирных вариантов или активной раскрутки веб-проектов. Только имейте в виду: вы в ответе за сетевых агентов, которых приручили,- и потом не говорите, что я вас не предупреждал!




Начало  Назад  



Книжный магазин