Скрипт написан на python, если у вас *nix просто запускаете, если win, Pethonкачаете , лучше 2.7.1.
У скрипта 2 режима работы:
0 - Парсим сами вопросы, емейлы повторяются часто
1 - Парсим список вопросов, там выведены емейлы авторов вопросов, в этом случае повторений меньше и живость больше
Код:
#! /usr/bin/python # -*- coding: utf-8 -*- # # # @author: G1yuK # Parser for otvet.mail.ru # import re import urllib2 parse_mode = 1 # 0 - Пробегаемся по вопросам, 1 - По главным страницам ответов depth_pages = 100 #Глубина "пробега" name_fout = 'emails.txt' # Имя файла для вывода need_link = 'http://otvet.mail.ru' def parse_otvet(urlka): reg = r'href=\"#url\?to=(.*?)@(.*?)\"' bigre = re.compile(reg) ar_mails = [] try: all_page = urllib2.urlopen(urlka).read() except urllib2.URLError, e: print urlka + '\t' + str(e) + '\n' return False for one_match in re.findall(bigre, all_page): milo = one_match[0] + '@' + one_match[1] # print milo ar_mails.append(milo) fout = open(name_fout, 'a') for one_mail in ar_mails: fout.write(one_mail + '\n') fout.close() return ar_mails if __name__ == "__main__": fout = open(name_fout, 'w') fout.close() # Измените w на a, если не хотите, чтобы файл с мылами перезаписался for i in xrange(1, depth_pages): if parse_mode: parse_otvet(need_link + '/?pg=' + str(i)) else: parse_otvet(need_link + '/question/' + str(i)) raw_input('Finish.\nPress Enter...')