#!/bin/bash # v.0.22 # Простой скрипт парсинга e-mail адресов с сервиса Ответы@Mail.ru # с разбиением по тематическим категориям # dimio (http://www.dimio.org), 2011 #Путь к каталогу, в котором будут храниться адреса PWD='.' #Сколько страниц в каждом разделе парсить (max = 50) PG_LIM="$1" #Пример: #Раздел 'it' - компьютеры и интернет. Названия категорий берутся из #соответствующих ссылок сервиса ответов for SECTION in 'hardware' 'internet' 'programming' 'software' 'pc_other'; do #for SECTION in "$@"; do if [ ! -d "$PWD/$SECTION" ]; then mkdir "$PWD/$SECTION" echo "Create directory: $PWD/$SECTION" fi echo "Parsing $SECTION" for ((PAGE=1; PAGE <= PG_LIM; PAGE++)); do wget -q -O - "http://otvet.mail.ru/$SECTION/?pg=$PAGE" | grep -ioE '\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b' >> "$PWD/$SECTION/emails.txt"; echo -n '.' done; sort -ui -o "$PWD/$SECTION/emails.txt" "$PWD/$SECTION/emails.txt" cat "$PWD/$SECTION/emails.txt" >> "$PWD/summary_emails.txt" echo -e "\n$SECTION ($PG_LIM pages): parsing done" echo 'Unique e-mails: ' `/usr/bin/wc -l "$PWD/$SECTION/emails.txt"` echo done; # Для повторных запусков (если не было вручную уничтожено созданное #дерево каталогов с адресами) - сохранять только уникальные вновь добавленные адреса sort -ui -o "$PWD/summary_emails.txt" "$PWD/summary_emails.txt" echo 'Total unique e-mails: ' `/usr/bin/wc -l "$PWD/summary_emails.txt"` exit 0;