Скрипт написан на 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...')