В заметке рассмотрено использование многопоточного парсера Яндекс ТИЦ на примере обработки списка пользователей ЛиРу (Liveinternet). Для запуска понадобятся: bash (под Windows можно использовать cygwin), perl, wget и, для большего удобства представления результатов, — sort. Все эти утилиты присутствуют практически в любой *nix-ОС или могут быть установлены в cygwin.
Для начала подготовим исходные данные — список всех пользователей ЛиРу (на момент написания заметки размещался на 100 страницах, именно такое их число и загружается для обработки), сделать это можно при помощи несложного bash-скрипта (как запустить bash-скрипт):
#!/usr/bin/bash
for i in {0..100}; do
echo "page $i";
wget -q -O - "http://www.liveinternet.ru/top/blogs/all/total/page$i.html" \
| perl -wlne 'print $1 if m{http:// ([\d\w\-\.]+\.[\w]{2,4})? /profile/}msx' \
>> liru-users.txt;
done
Регулярное выражение для вычленения адресов пользователей со страницы может не охватывать всех возможных вариантов — писалось на скорую руку.
Теперь необходимо обработать полученный список пользователей, помещенный в файл liru-users.txt, при помощи парсера ТИЦ. В процессе обработки из списка удаляются дублирующиеся строки, чтобы парсер не делал лишних запросов к Яндексу.cat liru-users.txt | sort -u | perl ./tcy-getter.pl >> liru-users-tcy.txt
В результате всех манипуляций будет создан файл liru-users-tcy.txt, в котором содержится все тот же список URL-адресов (в примере — пользователи ЛиРУ) с определённым для каждого из них значением ТИЦ (адрес и ТИЦ разделены точкой с запятой). В принципе, достаточно поменять расширение файла на .csv и работать с ним в любых электронных таблицах (Excell, Calc). Но ничто не мешает выполнить ещё одну несложную команду, которая отсортирует строки в файле по значению ТИЦ, от большего к меньшему:sort +1 -2 -r -t ';' -n -o liru-users-tcy.txt liru-users-sorted-on-tcy.txt
Таким образом, выполнив три достаточно простых шага, можно получить отсортированный по значению ТИЦ список пользователей ЛиРу. Или произвольный список сайтов и их значений ТИЦ. Результат манипуляций, описанных в заметке, можно скачать в виде архива.
И что с ними потом делать?
С отсортированными по ТИЦ сайтами? Можно позавидовать показателям например 🙂
А можно дополнительно ещё парсить дату создания сайта по whois и на основе тИЦ и whois можно искать новые сайты и анализировать где был прирост.
Я полагаю, что можно.