Парсинг Яндекс ТИЦ на примере списка пользователей ЛиРу

В заметке рассмотрено использование многопоточного парсера Яндекс ТИЦ на примере обработки списка пользователей ЛиРу (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

Таким образом, выполнив три достаточно простых шага, можно получить отсортированный по значению ТИЦ список пользователей ЛиРу. Или произвольный список сайтов и их значений ТИЦ. Результат манипуляций, описанных в заметке, можно скачать в виде архива.

4 мысли о “Парсинг Яндекс ТИЦ на примере списка пользователей ЛиРу”

      1. А можно дополнительно ещё парсить дату создания сайта по whois и на основе тИЦ и whois можно искать новые сайты и анализировать где был прирост.

Добавить комментарий для dimio Отменить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *