Парсер E-mail с разных сайтов



  • Здравствуйте!
    Подскажите пожалуйста, какое может быть решение.
    Нужно собрать эл.адреса с разных сайтов, т.е. один сайт = один e-mail.
    По логике пока вижу такое решение: с помощью Xpath находим в коде ссылку на раздел/якорь "Контакты", вытягиваем её, загружаем эту страницу и берем из неё e-mail
    Но, так как опыта и знаний у меня пока мало, я не могу вытянуть эту самую ссылку из заголовка "Контакты". Вопрос, исходя из моей логики, как с помощью Xpath вытянуть ссылку на раздел "Контакты"?
    Либо, если не сложно, подскажите может есть другие варианты парсинга е-mail адресов с разных сайтов (т.е. зашли на сайт, взяли эл.адрес, закрыли. Зашли на след.сайт и т.д.)



  • @Ivserzh12
    У каждого сайта будет разный Xpath. Вытяни регуляркой.
    (\w+@.*?.\w+)



  • xpath тут не годится, погугли регулярки для email. Вот одна из базы проги RegexBuddy:

    \b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}\b
    


  • @Ivserzh12 said in Парсер E-mail с разных сайтов:

    "Контакты"

    У вас проблема не с парсингом, а спереходом по ссылке.



  • @denanotherday said in Парсер E-mail с разных сайтов:

    @Ivserzh12 said in Парсер E-mail с разных сайтов:

    "Контакты"

    У вас проблема не с парсингом, а спереходом по ссылке.

    Есть что-то общее между сайтами или с селекторами "Контакты", или ссылками?
    Если есть селектор "Контакты", то просто кликаете и собираете.



  • @denanotherday да, сайты разные, где лендинг (одностраничник), а где-то несколько страниц с разным уровнем вложенности.
    Обратил внимание, что в 98% случаях, есть меню в шапке и раздел "Контакты" (где-то оно ведет на якорь (на лендинге), где-то на отдельную страницу. Вот и думаю, как взять эту ссылку из меню "Контакты", потом загрузить эту страницу и там уже спарсить e-mail.
    Т.е на данном этапе, у меня проблема парсингом (назовем это так) ссылки "Контакты"



  • This post is deleted!


  • @Ivserzh12 said in Парсер E-mail с разных сайтов:

    @denanotherday да, сайты разные, где лендинг (одностраничник), а где-то несколько страниц с разным уровнем вложенности.
    Обратил внимание, что в 98% случаях, есть меню в шапке и раздел "Контакты" (где-то оно ведет на якорь (на лендинге), где-то на отдельную страницу. Вот и думаю, как взять эту ссылку из меню "Контакты", потом загрузить эту страницу и там уже спарсить e-mail.
    Т.е на данном этапе, у меня проблема парсингом (назовем это так) ссылки "Контакты"

    Попробуйте >MATCH> онтакты
    Еси перейдет, парси регуляркой



  • @tet-vivi said in Парсер E-mail с разных сайтов:

    @Ivserzh12 said in Парсер E-mail с разных сайтов:

    Вот и думаю, как взять эту ссылку из меню "Контакты", потом загрузить эту страницу и там уже спарсить e-mail.

    а нельзя просто перейти по этой ссылке?

    Нельзя, все сайты разные, где-то этот пункт "Контакты" скрыт в выпадающем меню, соответственно действие "Двигать мышь и кликнуть по элементу" не сможет этого сделать



  • @Ivserzh12 ссылки имеют вид

    <a href="URL">контакты</a>
    

    если это якорь то URL имеет вид #id

    @denanotherday

    Попробуйте >MATCH> онтакты
    Еси перейдет, парси регуляркой

    может не помочь если генерируется js при наведении



  • This post is deleted!


  • @denanotherday said in Парсер E-mail с разных сайтов:

    @Ivserzh12 said in Парсер E-mail с разных сайтов:

    @denanotherday да, сайты разные, где лендинг (одностраничник), а где-то несколько страниц с разным уровнем вложенности.
    Обратил внимание, что в 98% случаях, есть меню в шапке и раздел "Контакты" (где-то оно ведет на якорь (на лендинге), где-то на отдельную страницу. Вот и думаю, как взять эту ссылку из меню "Контакты", потом загрузить эту страницу и там уже спарсить e-mail.
    Т.е на данном этапе, у меня проблема парсингом (назовем это так) ссылки "Контакты"

    Попробуйте >MATCH> онтакты
    Еси перейдет, парси регуляркой

    Пробовал, не получается, когда данный пункт скрыт в выпадающем меню



  • @Ivserzh12 said in Парсер E-mail с разных сайтов:

    @denanotherday да, сайты разные, где лендинг (одностраничник), а где-то несколько страниц с разным уровнем вложенности.
    Обратил внимание, что в 98% случаях, есть меню в шапке и раздел "Контакты" (где-то оно ведет на якорь (на лендинге), где-то на отдельную страницу. Вот и думаю, как взять эту ссылку из меню "Контакты", потом загрузить эту страницу и там уже спарсить e-mail.
    Т.е на данном этапе, у меня проблема парсингом (назовем это так) ссылки "Контакты"

    Тогда парси все сслки с сайта, в них ищи нужную



  • @Ivserzh12

    Пробовал, не получается, когда данный пункт скрыт в выпадающем меню

    контакты если на отдельной страницы то их URL обычно похож.(site.test/contact, site.test/info/contact ...)
    сайты обычно делаются на каком то ПО который имеет свои стандарты, в том числе стандартное расположения элементов

    а так это "выпадающем меню" нужно смотреть js и обмен данными с сервером

    можно эмулировать наведение мыши на элемен открывающим меню, а потом искать ссылку контактов



  • @Ivserzh12 у меня руки асе ни как не дойдут, делайте, под каждый сайт свой шаб. Ссылку вытаскивать не обязательно, есть стандарты, contact contacts и т.д, перебором проверяете сущемствование, того или иного элемента. В зависимости от истины или ложи, составляет дальше шаблоны под каждые контакты. Да долго и муторно, по другому ни как.


Log in to reply