Закрыто

[ZennoPoster] Парсер Email с сайтов и их страниц (многопоток, Get-запросы, паук)

Тема в разделе "Бизнес и свое дело", создана пользователем orka13, 19 мар 2018.

Цена: 8132р.
Взнос: 900р.
57%

Основной список: 19 участников

Резервный список: 1 участников

Статус обсуждения:
Комментирование ограничено.
  1. 16 апр 2018
    #21
    orka13
    orka13 ЧКЧлен клуба (А)
    Да я как-то не задавался целью спарсить полностью весь сайт или раздел. Мой паук узконаправленный, он только внутренние страницы собирает, ссылки на которые находит на начальной странице парсинга, то есть в пределах 1 клика он начальной страницы.
    Если надо какой-то сайт целиком спарсить, то придется костылей прикрутить: подсунуть парсеру список всех страниц этого сайта, и отключить поиск дополнительных внутренних страниц. Список всех страниц можно либо с карты сайта выдернуть (если она есть), либо сторонними парсерами (полноценными пауками) пройтись по всем ссылкам сайта и собрать список ссылок. Например, бесплтатный софт Xenu's Link Sleuth такое умеет, пробовал. Но учтите, что он сильно тупит, если больше ~100 000 страниц в базе накапливается (долго дубли проверяет при добавлении новых ссылок).

    Я так понял имеется ввиду необходимость регистрации+авторизации пользователя, чтобы видеть доп-поля с почтами у других пользователей. Увы, такое точно не планирую добавлять, это уже слишком надо углубляться в разработку шаблона.
     
    1 человеку нравится это.
  2. 19 апр 2018
    #22
    orka13
    orka13 ЧКЧлен клуба (А)
    Ищу трех одного проверяющего (из числа членов клуба со статусом "Модератор" или "Организатор"). Для проверки работы шаблона желательно иметь лицензию ZennoPoster. Но это не обязательно, так как я могу выписать вам временно (на 3 недели, иначе бесплатно сервис не позволяет, надо 10$ платить) ZennoBox-версию шаблона. Правда у нее лимит в 20 потоков, а я тестировал на ~100.

    Блин, парни, мой косяк: 10 человек уже собралось, а проверяющие так и не нашлись. Сейчас попробую повторить поиски…

    UPD: все проверяющие найденны (@Кроули) + @ЗиминА + Basill
     
    Последнее редактирование модератором: 23 апр 2018
  3. 21 апр 2018
    #23
    intelligent man
    intelligent man ОргОрганизатор
    @orka13
    Хочу записаться в складчину, но есть вопросы по работе шаблона. У меня парсеров почт в арсенале штук 5 или 6, но ни одна не идеальна. Хотелось бы найди идеал в шаблоне от orka13 :)
    Насколько проработан этот файл или он будет изначально пустым? Что я бы предложил, конкретно, взять из базы 5305046 сайтов. И прогнать этим шаблоном без использования регулярок и черного списка. Потом полученную базу почт, посчитать у нее количество повторений по строкам, отсортировать по самым повторяющимся. Соответственно, зачастую самые повторяющиеся, это плохие почты. И эти почты я бы добавил в данный файл, что скажете?
    Регулярка отсекает какого плана почты? Слишком длинные, без окончаний (.ru, .com и т.п.) или что?
    Открыл этот файл, во многих базах, как стандарт, между почтами только запятая, я бы убрал знак пробела. Глянул на предмет плохих почт, по способу, который написал выше:
    Тут хотелось бы больше гибкости, например, часто есть компании, которые указывают свой сайт на тиу ру. И тут вопрос, какое указать количество почт, если 1 почта, то шаблон не соберет 9 почт, при условии, что их там 10. Если я напишу 100 почт, то он там может собрать лишнее.
    Это я к чему, как предложение, может дать в дополнение к этому, настройку парсинга только с первой страницы. Такое иногда бывает полезно и придаст универсальности шаблону.
    Далее, что очень важно, как шаблон обрабатывает исходные ссылки:
    1) Он их не должен переделывать, так как обычно почты идут из базы данных. И потом эту информацию с почтами надо вернуть обратно в базу данных. Например, указан сайт firma.ru а шаблон запишет почту с сайтом Скрытая ссылка или было Скрытая ссылка а стало Скрытая ссылка Понимаете, это недопустимо, данные просто не встанут обратно в базу данных. То есть запись в итоговый файл должна идти в исходном написании сайта из файла Urls_UTF-8_!!!.txt.
    2) Вроде как получил ответ, но хочу убедиться. В файле Urls_UTF-8_!!!.txt указан сайт firma.ru/contact/ Шаблон зашел на него и нашел почту ivan@firma.ru Потом шаблон перешел на страницу Скрытая ссылка и нашел почту anna@firma.ru Что будет в итоговом файле? Для меня в идеале:
    firma.ru/contact/;ivan@firma.ru,anna@firma.ru
     
  4. 21 апр 2018
    #24
    intelligent man
    intelligent man ОргОрганизатор
    Реально сделать настройку глубины парсинга, видел же наверное в других программах?
    1 - только первая страница
    2 - первая и ссылки на ней (как понимаю, сейчас только так делает)
    3 - еще глубже
    n - любая цифра по глубина парсинга с исходного сайта
     
  5. 21 апр 2018
    #25
    orka13
    orka13 ЧКЧлен клуба (А)
    "\Input\Список отсева плохих email.txt" изначально пуст, точнее заполнен для примера вот такими строками:
    Код:
    @badmail.ru
    badnick@
    Список самых часто встречающихся почт я уже сделал (это отрывки, только ТОП, проверялась не вся база, а только случайная выборка, ибо этого хватает для анализа, ориентируйтесь на цифры относительно соседних строк, и не принимайте цифры как показатель общего вхождения во всей базе):
    Скрытая ссылка
    UPD: что-то не вижу там некоторых популярных адресов, пересниму эти документы в ближайшие сутки, а то может это с какого-то другого эксперимента моего, больше месяца прошло, не помню точно.
    UPD2: переснял и перезалил.
    На их основе составлялась регулярка в "\Input\Рулярка отсева плохих email.txt":
    Код:
    ^(test|example|sample)@|(rating|^(e?mail|ivanov|name))@Mail\.ru|%|@(test|example|sample|(your|my)?company|addresshere)?(domen|domaine?|site|website)?\.(com|ru|net|org)|(support@tiu.ru|donate@opencart.com|sample@domain.ru|your@email.here|support@sweb.ru|spm111@yandex.ru|helpdesk.support@payanyway.ru|your@email.here|username@gmail.com|\.png|\.gif|\.jpg|\.jpeg?)$|[^a-z0-9\@]{2,}
    Вы же можете заменить содержимое приведенных выше файлов на свое на основе собственного анализа и знаний, и подобных строк не будет в отчете. А вот пробел уберу в следующей версии, раз говорите это не популярно.
    Перечитайте еще раз описание настройки, вы, наверное, неправильно ее поняли, или я не понял вопроса... Она не влияет на лимит поиска почт в пределах одной страницы. Если на странице 10 почт, то все 10 попадут в отчет. Она только отключает последующий парсинг на внутренних страницах, ели найденное количество почт нас удовлетворяет (для экономии времени/ресурсов).
    Если не хотите парсить внутренние страницы «тиу ру», то просто отключите их парсинг глобально, указав «0» в настройке «#1.1».
    «0» в настройке «#1.1» как раз отключит "паука" (парсинг дополнительных страниц).
    Только что проверил. Теоретически оно у меня так и пишет сейчас (ну о лишних пробелах я писал что уберу), то есть используется именно старый адрес в таком виде, в котором он лежал в файле входящем. Вот только если там не указан протокол («Скрытая ссылка или «Скрытая ссылка), то шаблон выйдет по ошибке, ибо я такой проверки не предусмотрел изначально. Этот тоже подправлю в новой версии, ну чтобы он добавлял приставку «Скрытая ссылка, если ее нет.
     
    Последнее редактирование модератором: 22 апр 2018
    1 человеку нравится это.
  6. 21 апр 2018
    #26
    orka13
    orka13 ЧКЧлен клуба (А)
    Реально, пару лет назад делал такое под себя, типа аналог полноценного паука «Xenu's Link Sleuth» на ZennoPoster. Но это реализуемо только как отдельный продукт, так как там дофига мороки.
    И то либо в 1 поток, либо в многопотоке, но парсить только 1 сайт, а не любой набор ссылок. Так как самое слабое место в таком продукте: держать где-то в памяти, или в файле, или в БД некую базу уже обработанных ссылок, и каждый раз когда мы находим на очередной странице внутренние ссылки мы должны сравнить каждую из найденных ссылок нет ли ее в базе. Если ЕСТЬ, то игнорируем, если НЕТ, то добавляем ее в очередь на парсинг (опять же файл очереди надо формировать), а после успешного парсинга добавляем в базу. В зенке надо организовать всю эту связь, наладить запись\чтение между потоками так, чтобы быстродействие не упало… Увы, это слишком затратно по времени, и в ближайшие месяцы точно добавлять такого не буду.
     
  7. 21 апр 2018
    #27
    intelligent man
    intelligent man ОргОрганизатор
    В идеале лучше делать на всём, а не на выборке. И потом, по топам сверху только 3 позиции, явно странно и не правдоподобно. Какая-то очень маленькая выборка, которая не показывает ожидаемого результата.
    А почему шаблон выйдет ошибкой, например skladchik.com Адресная строка браузера не выдает ошибки, значит и загрузчик зенки не должен выдавать ошибку. Понимаешь, это же серьезно, если такой результат возвращать в базу данных. То он не сядет, так как skladchik.com будет не равно https://v13.skladchik.org Надо чтобы осталось так же, если никак, то на этапе загрузки сайта, шаблон прибавляет http:// а при сохранении в итоговый файл, если такое прибавление было, то убирает его, часть http:// Думаю легко прописать, а шаблон тогда будет более чистым и честным.
    Нет, огромная глубина не нужна и делаем только по начальному домену. Приведу пример, есть изначальный сайт Скрытая ссылка и твой шаблон перейдет с него на страницу Скрытая ссылка и остановится, так? А на этой странице Скрытая ссылка будут ссылки на города: Москва, Питер, Казань и т.д. Например Скрытая ссылка и только тут будет почта, как и с другими городами. Как я понимаю шаблон до них не дойдет, что не весело. Теперь понятнее?
     
  8. 21 апр 2018
    #28
    intelligent man
    intelligent man ОргОрганизатор
    А что это означает, то есть когда? :)
     
  9. 22 апр 2018
    #29
    orka13
    orka13 ЧКЧлен клуба (А)
    А зачем «в идеале», если нам главное увидеть среднестатистические показатели для топ-100 строк, чтобы понять каких почт нибольше, и по ненужным значениям подправить маску для фильтрации. Я же там написал (UPD:…) что вижу нестыковку и обновлю те отчеты (вот сейчас обновил там блок, проверьте). Пересчитал показатели повторно на выборке размером в 300 000 строк. Увы, всю базу с соседней темы (3,8 млн. строк с дублями) проверять не буду, так как мой шаблон для составления этого статистического отчета 100 000 строк обрабатывает за 3 минуты, 300 000 строк уже за 20 минут, так что на ставить обработку ради избежание погрешности в несколько процентов смысла не вижу.
    Потому что в старпосте темы явно указано: "для достижения максимального быстродействия он работает на чистых запросах без подключения браузера". Там применяются не обычные кубики эмуляции браузера зенопостера, а связки с C# кодом, где шаг "влево, шаг вправо...". Этот алгоритм с "http://" я уже описал в предыдущих постах.
    Все-равно это сложно, и есть подводные камни, которые всплывут во время разработки\тестирования. Задача с глубоким расширением функционала паука сейчас не будет решаться точно, так что увы, здесь на встречу не пойду.
    Это "уже". Протестировал с приставками, без, с разным РеГисТРом. Вот так теперь отчет выглядит (без пробелов):
     
    Последнее редактирование модератором: 22 апр 2018
    1 человеку нравится это.
  10. 22 апр 2018
    #30
    intelligent man
    intelligent man ОргОрганизатор
    Про браузер я понял, самое главное, сайт из файла Urls_UTF-8_!!!.txt и сайт из файла Url_Mail.txt. Они будут всегда одинаковые?
    Только есть не все варианты, еще:
    firma.ru
    firma.ru/
    Скрытая ссылка
    Скрытая ссылка
    Скрытая ссылка
    Скрытая ссылка
    Скрытая ссылка
    Скрытая ссылка
    Скрытая ссылка
    Скрытая ссылка
    Скрытая ссылка
    Скрытая ссылка
     
  11. 22 апр 2018
    #31
    intelligent man
    intelligent man ОргОрганизатор
    Вот этот файл, было хорошо добавить прямо рядом с шаблоном, как полезный материал :)
    Вот это тонкий момент, можно забыть о нем, а с шаблоном будет идти какой-то мануал?
     
  12. 22 апр 2018
    #32
    orka13
    orka13 ЧКЧлен клуба (А)
    ДА.
    Протестировал на таком списке (12 адресов нормальных идут + 12 тех же адресов, но уже подобавлял лишние "www", "https:" и слеши :
    В итоге на выходе 2 файла:
    \Output\Url_Mail_22_04_2018.csv:
    \Temp_data\Url_Main_Bad_22_04_2018.txt:
    Как видите 2 адреса забраковало, так как у них не настроена переадресация на актуальный адрес (https>http), и даже в браузере они не открываются.

    Ок, добавлю в архив.
    Да там минимум настроек, и видео запуска в стартпосте уже есть. Легче просто добавить чуть больше описания в окне с настройками, что я уже сделал, и в новой версии будет вот так:
    [​IMG]
    То есть пока еще не закончился сбор вы задавайте вопросы, я все актуальные правки вынесу в отдельную новую версию с файлом-описанием, и складчики получат оба варианта в архиве. И в будущем обновления будут также бесплатны, надо будет только новую версию по ссылке закачать.
     
    Последнее редактирование модератором: 22 апр 2018
    1 человеку нравится это.
  13. 22 апр 2018
    #33
    intelligent man
    intelligent man ОргОрганизатор
    Прекрасно, я задал все вопросы. Записался, буду покупать, спасибо.
     
  14. 22 апр 2018
    #34
    orka13
    orka13 ЧКЧлен клуба (А)
    Угу, только как с предыдущей складчиной на Яндекс Карты не выпишитесь перед началом сборов :).
    А мне осталось еще найти третьего проверяющего (неактуально, уже нашел Basill), дождаться их отзывов и можно начинать сбор.

    И скинул первым двум проверяющим новую версию, хотя если они уже начали проверку на старой, то можно не обновляться. Вот ее описание:
    Emails_Site_Parser_by_orka13_V_1.01 (22.04.2018)
    Новые фичи:
    • [+] Подправил в описании «Входных параметров» пункт 1.3 и 1.1, а то были жалобы что они малоинформативные.
    • [+] Добавил возможность задавать список доменов (в файле "Urls_UTF-8_!!!.txt") без приставок ("http://", "https://"), то есть просто как “site.ru”.
    • [+] Убрал пробелы в отчете между почтовыми адресами в пределах одной строки, так как было замечание что такой формат будет более популярен.
    • [+] Добавил в архив с шаблоном файл «Топ почтовых ящиков с RU-сайтов (для формирования стоп-листа).xlsx».
     
    Последнее редактирование модератором: 23 апр 2018
    1 человеку нравится это.
  15. 22 апр 2018
    #35
    intelligent man
    intelligent man ОргОрганизатор
    Нет, здесь точно не выпишусь.
     
  16. 22 апр 2018
    #36
    Mozgovik
    Mozgovik ЧКЧлен клуба
    А в чем преимущество парсера перед готовой базой имейлов?
    Или наоборот.
    Ведь эта база создана при помощи этого же парсера.
    Только там готовое уже всё (осталось только отсортировать),
    а здесь надо заново парсить всё.
     
  17. 22 апр 2018
    #37
    orka13
    orka13 ЧКЧлен клуба (А)
    Ну парсер дает возможность парсить любые страницы, которые ему подсунуть, а в базе только доменная зона RU парсилась (Парсилась главная страница + дополнительно список из 30 шт. внутренних страниц).
     
    1 человеку нравится это.
  18. 22 апр 2018
    #38
    Mozgovik
    Mozgovik ЧКЧлен клуба
    Если подсунуть список чьих-нибудь друзей из ВК - он спарсит их телефоны?
    И вообще, как обстоят дела с парсингом мейлов из соц сетей и форумов?
     
  19. 23 апр 2018
    #39
    orka13
    orka13 ЧКЧлен клуба (А)
    Забыл поделится опытом работы с этим парсером на крупной базе (добавлю это в отдельную вкладку в настройках):
    Внимание: шаблон работает сверх-быстро без использования браузера (на Get-запросах).
    Но обратной стороной медали будет большая нагрузка на сетевое оборудование в многопотоке. Например, когда я работаю свыше 100 потоков, то обычный домашний Lan-роутер зависает каждые пару минут (не из-за скорости, а из-за слишком большого количества секций). Приходилось временно без него работать напрямую, или сбавлять потоки.
    А при "промышленном парсинге" (я парсил несколько дней подряд базу на 5 млн сайтов) вас может заблокировать вышестоящий провайдер за «подозрительную сетевую активность» (мне урезали на сутки скорость с 100 мбит до 10 без предупреждения :D). Подобно поступит и большинство хостинг-провайдеров, если вы надумаете на удаленном сервере парсинг длительный запустить.
     
    1 человеку нравится это.
  20. 23 апр 2018
    #40
    Кроули
    Кроули ДолжникДолжник
    ОТЗЫВ:
    Для начала обязательно укажите свой уровень владения информацией и навыками: в данной области вы новичок, теоретик либо опытный практик?

    Практик. Работаю с шаблонами Зенки (время от времени) 2,5 года

    В каком виде предоставлен материал и насколько удобно он оформлен?
    Шаблон Зенки. Инструкция видео и текстовая

    Сколько времени заняло изучение и выполнение заданий данного инфопродукта?
    Можно проверить работоспособность шаблона буквально запустив его один раз. Если пользоваться донорами, предоставленными Автором – это будет долго.
    Я оставил пару десятков сайтов и… проверка произошла очень-очень быстро.

    Насколько легко усваивается материал, вызвал ли он какие-либо затруднения при проверке?
    Легка! Самое прикольное, что шаблон и настраивать то не нужно. Только запустить шаблон…

    Сколько времени заняло достижение заявленного автором результата?
    Шаблон работает. Сразу же.

    Нужны ли специальные навыки и дополнительные материальные вложения?
    Самые минимальные навыки работы с Зенкой

    Оказывал ли автор должную поддержку в процессе проверки?
    Да, оказывал.

    Каковы в целом общие впечатления о компетентности автора?
    Несомненно, Автор компетентен.

    Материал полностью соответствует заявленному автором описанию и пригоден для проведения складчины.

    Отзыв на инфопродукт отражает мое субъективную точку зрения.
     
    1 человеку нравится это.
Статус обсуждения:
Комментирование ограничено.

Поделиться этой страницей