1. Вступайте в наш Telegram чат: https://t.me/a_parser Нас уже 2600+ и мы растем!
    Скрыть объявление

Пресет По списку запросов получаем страницы, цмс, PR, email из whois 1.0

Комплексный пример с использованием разных парсеров и сохранением результатов в разных папках

  1. gerbill

    gerbill A-Parser Enterprise License
    A-Parser Enterprise

    Регистрация:
    8 авг 2013
    Сообщения:
    20
    Симпатии:
    0
    Всем привет!

    В общем появилась задача написать довольно навороченный парсер гугла. Решил для этого использовать A-Parser, но пока не понимаю как написать соответсвующее задание. Суть того что мне нужно состоит в следующем:

    1. Есть список кивордов (для примера 1000 кивордов: http://hastebin.com/ufowilafiq.txt )
    2. Нужно с гугла получить ссылки на страницы, содержащие эти киворды (причем поиск нужно получить результаты за последнюю неделю)
    3. Помимо ссылок на сами страницы мне нужно получить еще и ссылки на кэш этих страниц в гугле
    4. Из полученного списка страниц надо экстрактить их домены второго уровня, чтобы понять Google PR главной страницы сайта
    5. Понять какую CMS использует каждый сайт
    6. Из whois получить email для каждого домена

    В итоге результаты нужно представить в виде набора вложенных папок и текстовых файлов по примеру:
    PR_1
    \Joomla
    \domain.com
    contacts.txt - тут должны быть мыла, полученные из whois
    cache.txt - тут ссылки на кэш гугла. Скорее всего ссылок будет несколько, т.к. разные страницы одного сайта будет выдаваться по разным кейордам при парсинге гугла​
    \Drupal
    \WordPress
    \no CMS​
    PR_2
    PR_3
    PR_4

    Саппорт мне сказал, что такое задание сделать реально и это радует :) Однако, я пока не могу понять как парсеру правильно дать задание чтобы он выдал нужный результат
     
    #1 gerbill, 20 май 2015
    Последнее редактирование: 20 май 2015
  2. Support

    Support Administrator
    Команда форума A-Parser Enterprise

    Регистрация:
    16 мар 2012
    Сообщения:
    4.545
    Симпатии:
    2.163
    Данная задача решается двумя заданиями:
    - первое парсит ссылки по кейвордам из файла для второго задания
    - второе делает всю остальную работу

    Первое задание:
    *В качестве файла запросов указываем файл с кейвордами.
    [​IMG]
    Код:
    eyJwcmVzZXQiOiJodHRwOi8vYS1wYXJzZXIuY29tL3RocmVhZHMvMTY0NS8gLSBc
    dTA0NDFcdTA0MzFcdTA0M2VcdTA0NDAgXHUwNDQxXHUwNDQxXHUwNDRiXHUwNDNi
    XHUwNDNlXHUwNDNhIiwidmFsdWUiOnsicHJlc2V0IjoiaHR0cDovL2EtcGFyc2Vy
    LmNvbS90aHJlYWRzLzE2NDUvIC0gXHUwNDQxXHUwNDMxXHUwNDNlXHUwNDQwIFx1
    MDQ0MVx1MDQ0MVx1MDQ0Ylx1MDQzYlx1MDQzZVx1MDQzYSIsInBhcnNlcnMiOltb
    IlNFOjpHb29nbGUiLCJkZWZhdWx0Iix7InR5cGUiOiJvdmVycmlkZSIsImlkIjoi
    cXVlcnlmb3JtYXQiLCJ2YWx1ZSI6IiRxdWVyeSBkYXRlcmFuZ2U6MjQ1NzE1Ni0y
    NDU3MTYzIn1dXSwicmVzdWx0c0Zvcm1hdCI6IiRwMS5wcmVzZXQiLCJyZXN1bHRz
    U2F2ZVRvIjoiZmlsZSIsInJlc3VsdHNGaWxlTmFtZSI6InVybHMudHh0IiwiYWRk
    aXRpb25hbEZvcm1hdHMiOltdLCJyZXN1bHRzVW5pcXVlIjoic3RyaW5nIiwicXVl
    cnlGb3JtYXQiOlsiJHF1ZXJ5Il0sInVuaXF1ZVF1ZXJpZXMiOmZhbHNlLCJzYXZl
    RmFpbGVkUXVlcmllcyI6ZmFsc2UsIml0ZXJhdG9yT3B0aW9ucyI6eyJvbkFsbExl
    dmVscyI6ZmFsc2UsInF1ZXJ5QnVpbGRlcnNBZnRlckl0ZXJhdG9yIjpmYWxzZX0s
    InJlc3VsdHNPcHRpb25zIjp7Im92ZXJ3cml0ZSI6ZmFsc2V9LCJkb0xvZyI6Im5v
    Iiwia2VlcFVuaXF1ZSI6Ik5vIiwibW9yZU9wdGlvbnMiOmZhbHNlLCJyZXN1bHRz
    UHJlcGVuZCI6IiIsInJlc3VsdHNBcHBlbmQiOiIiLCJxdWVyeUJ1aWxkZXJzIjpb
    XSwicmVzdWx0c0J1aWxkZXJzIjpbXSwiY29uZmlnT3ZlcnJpZGVzIjpbXX19

    Второе задание:
    *В качестве файла запросов указываем файл, полученный в первом задании.
    *Результаты будут в папке res.
    [​IMG]
    Код:
    eyJwcmVzZXQiOiJodHRwOi8vYS1wYXJzZXIuY29tL3RocmVhZHMvMTY0NS8gLSBc
    dTA0M2ZcdTA0MzBcdTA0NDBcdTA0NDFcdTA0MzhcdTA0M2RcdTA0MzMgXHUwNDM4
    IFx1MDQ0MVx1MDQzZVx1MDQ0NVx1MDQ0MFx1MDQzMFx1MDQzZFx1MDQzNVx1MDQz
    ZFx1MDQzOFx1MDQzNSBcdTA0NDBcdTA0MzVcdTA0MzdcdTA0NDNcdTA0M2JcdTA0
    NGNcdTA0NDJcdTA0MzBcdTA0NDJcdTA0M2VcdTA0MzIiLCJ2YWx1ZSI6eyJwcmVz
    ZXQiOiJodHRwOi8vYS1wYXJzZXIuY29tL3RocmVhZHMvMTY0NS8gLSBcdTA0M2Zc
    dTA0MzBcdTA0NDBcdTA0NDFcdTA0MzhcdTA0M2RcdTA0MzMgXHUwNDM4IFx1MDQ0
    MVx1MDQzZVx1MDQ0NVx1MDQ0MFx1MDQzMFx1MDQzZFx1MDQzNVx1MDQzZFx1MDQz
    OFx1MDQzNSBcdTA0NDBcdTA0MzVcdTA0MzdcdTA0NDNcdTA0M2JcdTA0NGNcdTA0
    NDJcdTA0MzBcdTA0NDJcdTA0M2VcdTA0MzIiLCJwYXJzZXJzIjpbWyJTRTo6R29v
    Z2xlOjpQUiIsImRlZmF1bHQiLHsidHlwZSI6Im92ZXJyaWRlIiwiaWQiOiJxdWVy
    eWZvcm1hdCIsInZhbHVlIjoiJHF1ZXJ5LmRvbWFpbiJ9XSxbIlJhbms6OkNNUyIs
    ImRlZmF1bHQiLHsidHlwZSI6Im92ZXJyaWRlIiwiaWQiOiJxdWVyeWZvcm1hdCIs
    InZhbHVlIjoiJHF1ZXJ5In1dLFsiTmV0OjpXaG9pcyIsImRlZmF1bHQiLHsidHlw
    ZSI6Im92ZXJyaWRlIiwiaWQiOiJxdWVyeWZvcm1hdCIsInZhbHVlIjoiJHF1ZXJ5
    LmRvbWFpbiJ9LHsidHlwZSI6Im92ZXJyaWRlIiwiaWQiOiJyYXdkYXRhIiwidmFs
    dWUiOnRydWV9XV0sInJlc3VsdHNGb3JtYXQiOiIkcDMuZW1haWxzLmZvcm1hdCgn
    JGVtYWlsXFxuJykiLCJyZXN1bHRzU2F2ZVRvIjoiZmlsZSIsInJlc3VsdHNGaWxl
    TmFtZSI6InJlcy8kcDEucHIvJHAyLmNtcy8kcXVlcnkuZG9tYWluL2NvbnRhY3Rz
    LnR4dCIsImFkZGl0aW9uYWxGb3JtYXRzIjpbWyJyZXMvJHAxLnByLyRwMi5jbXMv
    JHF1ZXJ5LmRvbWFpbi9jYWNoZS50eHQiLCJodHRwOi8vd2ViY2FjaGUuZ29vZ2xl
    dXNlcmNvbnRlbnQuY29tL3NlYXJjaD9xPWNhY2hlOiRxdWVyeS5vcmlnJm51bT0x
    MDAmc3RyaXA9MCJdXSwicmVzdWx0c1VuaXF1ZSI6Im5vIiwicXVlcnlGb3JtYXQi
    OlsiJHF1ZXJ5Il0sInVuaXF1ZVF1ZXJpZXMiOmZhbHNlLCJzYXZlRmFpbGVkUXVl
    cmllcyI6ZmFsc2UsIml0ZXJhdG9yT3B0aW9ucyI6eyJvbkFsbExldmVscyI6ZmFs
    c2UsInF1ZXJ5QnVpbGRlcnNBZnRlckl0ZXJhdG9yIjpmYWxzZX0sInJlc3VsdHNP
    cHRpb25zIjp7Im92ZXJ3cml0ZSI6ZmFsc2V9LCJkb0xvZyI6Im5vIiwia2VlcFVu
    aXF1ZSI6Ik5vIiwibW9yZU9wdGlvbnMiOmZhbHNlLCJyZXN1bHRzUHJlcGVuZCI6
    IiIsInJlc3VsdHNBcHBlbmQiOiIiLCJxdWVyeUJ1aWxkZXJzIjpbeyJzb3VyY2Ui
    OiJxdWVyeSIsInR5cGUiOiJleHRyYWN0VG9wRG9tYWluIiwidG8iOiJkb21haW4i
    fV0sInJlc3VsdHNCdWlsZGVycyI6W3sic291cmNlIjpbMiwiZGF0YSJdLCJ0eXBl
    IjoicmVnZXgiLCJhcnJheSI6ImVtYWlscyIsInJlZ2V4IjoiZW1haWw6KC4rP0Au
    Kz9cXC4uKz8pXFxzIiwicmVnZXhUeXBlIjoiaXNnIiwidG8iOlsiZW1haWwiXX1d
    LCJjb25maWdPdmVycmlkZXMiOltdfX0=
     
    relay, limoshkaa, gerbill и ещё 1-му нравится это.
  3. gerbill

    gerbill A-Parser Enterprise License
    A-Parser Enterprise

    Регистрация:
    8 авг 2013
    Сообщения:
    20
    Симпатии:
    0
    Спасибо! Работает на ура за исключением сбора мыл хуиза. Очень часто вижу вместо мыла запись "none"
    Могу предположить что всюду хуиз как-то поразному записан и вместо файла contacts.txt пускай будет whois.txt, где просто весь полученный хуиз будет записан, а мы потом уже разберемся с контактами

    А так, ну просто офигенно помоему :) Сколько у тебя времени заняло написать это задание?
     
  4. Support

    Support Administrator
    Команда форума A-Parser Enterprise

    Регистрация:
    16 мар 2012
    Сообщения:
    4.545
    Симпатии:
    2.163
    Относительно этого есть заявка на улучшение: http://a-parser.com/threads/1648/
    Тогда формат результата для первого файла меняем с $p3.emails.format('$email\n') на $p3.data
    И имя первого файла меняем с res/$p1.pr/$p2.cms/$query.domain/contacts.txt на res/$p1.pr/$p2.cms/$query.domain/whois.txt
    А также убираем конструктор результатов.
    Но даже так емейлов больше не станет.
    Около часа.
     
    limoshkaa, vipdenya и gerbill нравится это.
  5. gerbill

    gerbill A-Parser Enterprise License
    A-Parser Enterprise

    Регистрация:
    8 авг 2013
    Сообщения:
    20
    Симпатии:
    0
    иногда бывает что просто пустой файл whois
    например пустой хуиз оказался для доменов
    newsworks.org
    eveningtimes.co.uk
    knpr.org
    louisianatravel.com
    morongonation.org

    ну и много других
    что-то не вижу закономерности почему для других доменов хуиз получен, а для этих - нет
     
  6. Support

    Support Administrator
    Команда форума A-Parser Enterprise

    Регистрация:
    16 мар 2012
    Сообщения:
    4.545
    Симпатии:
    2.163
    Возможно дело в самом парсере Net::Whois. Заявка на улучшение оставлена, посмотрим.
     
  7. gerbill

    gerbill A-Parser Enterprise License
    A-Parser Enterprise

    Регистрация:
    8 авг 2013
    Сообщения:
    20
    Симпатии:
    0
    что-то с парсером whois
    запустил еще раз парсер чтобы получить повторный результат, так вот в первый раз для домена zendcon.com хуиз не получили, а во второй раз получили
    а для домена football411.com в первый раз пришли другие хуиз, нежелеи во второй раз. Вернее в первый раз был получен полный хуиз, а во второй раз только первая его часть

    может в проксях дело?
     
  8. gerbill

    gerbill A-Parser Enterprise License
    A-Parser Enterprise

    Регистрация:
    8 авг 2013
    Сообщения:
    20
    Симпатии:
    0
    в общем проблема с проксями, как оказалось
    запустил сбор хуиз без прокси и щас не вижу пустых хуизов. Может где-то и есть такие, но я все эти домены не могу проверить руками. Штук 20 просмотрел и везде хуиз есть
     
  9. gerbill

    gerbill A-Parser Enterprise License
    A-Parser Enterprise

    Регистрация:
    8 авг 2013
    Сообщения:
    20
    Симпатии:
    0
    столкнулся с тем, что получается довольно неудобно работать с результатами когда всё разбросано по папкам. Намного удобнее было бы выводить их на html странице в таком виде:

    Для каждой цмс своя страница html. Например, страница под названием eZ_Publish.html
    Содержание страницы (все ссылки открываются в новом окне):

    PR1
    domain1.com cache#1 cache#2 cache#3 whois
    domain2.com cache#1 cache#2 whois


    PR2

    domain4.com cache#1 cache#2 cache#3 whois
    domain5.com cache#1 cache#2 whois


    Можно так сделать?

    PS: ссылку на хуиз можно давать на домэин тулз, например как эту
    http://whois.domaintools.com/google.ru
     
  10. Support

    Support Administrator
    Команда форума A-Parser Enterprise

    Регистрация:
    16 мар 2012
    Сообщения:
    4.545
    Симпатии:
    2.163
    Сохранять в виде html-страницы можно, изменяя нужным образом формат вывода, а также добавляя начальный и конечный тексты. Но добиться чтобы все было отсортировано именно в таком порядке - скорее всего не получится.
     
  11. gerbill

    gerbill A-Parser Enterprise License
    A-Parser Enterprise

    Регистрация:
    8 авг 2013
    Сообщения:
    20
    Симпатии:
    0
    а в каком порядке можно?

    на самом деле я для примера тот порядок написал. В любом порядке подойдет, лишь бы можно было с этим потом работать :)
     
  12. Support

    Support Administrator
    Команда форума A-Parser Enterprise

    Регистрация:
    16 мар 2012
    Сообщения:
    4.545
    Симпатии:
    2.163
    Будет что-то вроде такого:
    Страница названная по имени CMS
    Содержание страницы:
    PR1
    domain1.com cache#1 whois
    PR3
    domain3.com cache#1 whois
    PR3
    domain3.com cache#2 whois
    PR5
    domain2.com cache#1 whois
    PR1
    domain1.com cache#2 whois
    PR2
    domain4.com cache#1 whois
    PR3
    domain3.com cache#3 whois

    Эксперементируйте с форматом вывода, добавляя туда нужный текст.
     
  13. gerbill

    gerbill A-Parser Enterprise License
    A-Parser Enterprise

    Регистрация:
    8 авг 2013
    Сообщения:
    20
    Симпатии:
    0
    чуть попробовал, фигня получается :) я не программист, а разбираться нет времени. Я и заплатить готов тому, кто бы удовлетворил мои нужды в парсинге
     
  14. Forbidden

    Forbidden Administrator
    Команда форума A-Parser Enterprise

    Регистрация:
    9 мар 2013
    Сообщения:
    3.337
    Симпатии:
    1.794
    если нет времени разбираться то тебе сюда http://a-parser.com/threads/1192/
     

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