Доброго времени суток! Есть два задания - 1ое собирает тайтлы, описание страниц и парсит ссылки с упоминанием киворда; 2ое собирает с собранных страниц email Как это делается сейчас 1 задание query - список ссылок в формате https://a-parser.com/ сначала проходим Net:HTTP и парсим title и description страницы (как в примере https://a-parser.com/threads/1519/) потом через HTML:LinkExtractor вытаскиваем ссылки, где встречаются ключевые слова contact|kontakt|support (как описано в примере https://a-parser.com/threads/1031/) на выходе выводим query, title, description, contact link Спойлер: задание Код: eyJwcmVzZXQiOiJ0aXRsZSxkZXNjcmlwdGlvbixjb250YWN0dXNwYWdlIiwidmFs dWUiOnsicHJlc2V0IjoidGl0bGUsZGVzY3JpcHRpb24sY29udGFjdHVzcGFnZSIs InBhcnNlcnMiOltbIk5ldDo6SFRUUCIsImRlZmF1bHQiLHsidHlwZSI6ImN1c3Rv bVJlc3VsdCIsInJlc3VsdCI6ImRhdGEiLCJyZWdleCI6Ijx0aXRsZT4oW148Pl0q KTwvdGl0bGU+IiwicmVnZXhUeXBlIjoiaXMiLCJyZXN1bHRUeXBlIjoiZmxhdCIs ImFycmF5TmFtZSI6IiIsInJlc3VsdHMiOlsidGl0bGUiXX0seyJ0eXBlIjoiY3Vz dG9tUmVzdWx0IiwicmVzdWx0IjoiZGF0YSIsInJlZ2V4IjoiPG1ldGEgbmFtZT1c ImRlc2NyaXB0aW9uXCIgY29udGVudD1cIiguKj8pXCIgPy8/PiIsInJlZ2V4VHlw ZSI6ImlzIiwicmVzdWx0VHlwZSI6ImZsYXQiLCJhcnJheU5hbWUiOiIiLCJyZXN1 bHRzIjpbImRlc2MiXX1dLFsiSFRNTDo6TGlua0V4dHJhY3RvciIsImRlZmF1bHQi LHsidHlwZSI6ImZpbHRlciIsInJlc3VsdCI6WyJpbnRsaW5rcyIsImxpbmsiXSwi ZmlsdGVyVHlwZSI6InJlbWF0Y2giLCJ2YWx1ZSI6ImNvbnRhY3R8a29udGFrdHxz dXBwb3J0Iiwib3B0aW9uIjoiaSJ9LHsidHlwZSI6Im92ZXJyaWRlIiwiaWQiOiJm b3JtYXRyZXN1bHQiLCJ2YWx1ZSI6IiRpbnRsaW5rcy5mb3JtYXQoJyRsaW5rOycp In1dXSwicmVzdWx0c0Zvcm1hdCI6IiRxdWVyeTskcDEudGl0bGU7JHAxLmRlc2M7 JHAyLnByZXNldFxcbiIsInJlc3VsdHNTYXZlVG8iOiJmaWxlIiwicmVzdWx0c0Zp bGVOYW1lIjoiJGRhdGVmaWxlLmZvcm1hdChSZXN1bHRzOlRpdGxlLGRlc2NyKS5j c3YiLCJhZGRpdGlvbmFsRm9ybWF0cyI6W10sInJlc3VsdHNVbmlxdWUiOiJubyIs InF1ZXJpZXNGcm9tIjoidGV4dCIsInF1ZXJ5Rm9ybWF0IjpbIiRxdWVyeSJdLCJ1 bmlxdWVRdWVyaWVzIjpmYWxzZSwic2F2ZUZhaWxlZFF1ZXJpZXMiOmZhbHNlLCJp dGVyYXRvck9wdGlvbnMiOnsib25BbGxMZXZlbHMiOmZhbHNlLCJxdWVyeUJ1aWxk ZXJzQWZ0ZXJJdGVyYXRvciI6ZmFsc2UsInF1ZXJ5QnVpbGRlcnNPbkFsbExldmVs cyI6ZmFsc2V9LCJyZXN1bHRzT3B0aW9ucyI6eyJvdmVyd3JpdGUiOmZhbHNlfSwi ZG9Mb2ciOiJubyIsImtlZXBVbmlxdWUiOiJObyIsIm1vcmVPcHRpb25zIjp0cnVl LCJyZXN1bHRzUHJlcGVuZCI6IiIsInJlc3VsdHNBcHBlbmQiOiIiLCJxdWVyeUJ1 aWxkZXJzIjpbXSwicmVzdWx0c0J1aWxkZXJzIjpbXSwiY29uZmlnT3ZlcnJpZGVz IjpbXSwicnVuVGFza09uQ29tcGxldGUiOm51bGwsInVzZVJlc3VsdHNGaWxlQXNR dWVyaWVzRmlsZSI6ZmFsc2UsInJ1blRhc2tPbkNvbXBsZXRlQ29uZmlnIjoiZGVm YXVsdCIsInRvb2xzSlMiOiIiLCJwcmlvIjo1LCJxdWVyaWVzIjoiaHR0cDovL3d3 dy5hcGtkbG1vZC5jb21cbmh0dHA6Ly9iZG11c2ljMjMubGlmZVxuaHR0cDovL3d3 dy5hcGtsb3Zlci5uZXRcbmh0dHA6Ly9paGFja2VkaXQuY29tLyJ9fQ== 2 задание берем список ссылок на страницы с контактами из первого задания (формата https://a-parser.com/pages/support/open) парсим имейлы с этих страниц через HTML::EmailExtractor выводим в формате $query, email далее руками объединяем обе выдачи. Подскажите, пжл, как можно объединить два задания?
Добрый день. Да, эти задания можно объединить в одно. Для этого нужно воспользоваться инструментом tools.query.add. Пример объединения двух заданий в одно с помощью tools.query рассмотрен в этой статье: https://a-parser.com/resources/130/ Вот пример решения вашей задачи: Парсинг e-mail из страниц контактов - Пример парсинга контактов одним заданием с использованием $tools.query Узнать больше об этом ресурсе...
Большое спасибо! Могли бы вы написать комментарий к каждой строчке формата результата (что за что отвечает)? Пытаюсь разобраться в том как пользоваться $tools.query, но пока выходит плохо. Перечитывал обзор инструмента $tools.query https://a-parser.com/resources/130/ и пробовал составять задания, но без положительных результатов. Может быть посоветуете что еще прочитать на эту тему, чтобы лучше понимать специфику?
Пользуюсь, хорошая штука. 1) возможно есть такой же для получения телефонов? 2) в данном пресете не хватает удаления дублей по емайлам, а зачастую их очень много.
Добрый день. Такого же нет, но вы легко можете поменять регулярку на нужную. Для телефонов ее сложнее составить, т.к. там нет общепринятого формата записи. Вот пример такой регулярки: https://a-parser.com/threads/2710/ Ее легко добавить в пресет: https://a-parser.com/wiki/unique/
Приветствую А как насчет такого варианта сбора? Рациональность? Прогонать список через google, формируя запрос для каждого домена: site:link.ru контакты берем первую ссылку которую google считает содержащей контакты и потом идем по ней.
Добрый день. Это легко реализуется двумя заданиями либо же одним с помощью JS парсеров. А насколько это рационально, вы сможете узнать, сделав такой парсер и оценив его работу.
Пожалуйста добавьте возможность к ссылкам добавлять id, а то когда сайтов много и надо работать со списками получается очень неудобно. т.е. link^1, link^2,link^3 Хотел добавить сам, но понял что в JS не справлюсь.
Мы говорим про пресет "Парсинг e-mail из страниц контактов 1.0", обсуждение почему то про сливание, про JS погорячился, имел ввиду js.tools хотелось бы чтоб можно было задавать произвольные данные к ссылкам т.е. у нас на входе сейчас так http://www.altium.com http://4pda.ru https://a-parser.com а хотелось бы примерно так 1^какая-то информация1^http://www.altium.com 2^какая-то информация2^http://4pda.ru 3^какая-то информация3^https://a-parser.com не обязательно в такой последовательности Зачем это нужно? Потому что потом приходится сводить большие таблицы и это занимает очень много времени. Ну и на выходе получать такое 1;какая-то информация1;http://www.altium.com;урл контакт страницы;title;emails; т.е. перед тем что есть просто добавить столбик с номером, который именно передается как параметр т.е. присутствует в query и данные какой-то информации
Пресет "Парсинг e-mail из страниц контактов" - это как раз и есть пример объединения нескольких заданий в одно с использованием $tools.query. $tools.js в данном пресете не используется. Это легко решается Конструктором запросов. Разделяйте запрос на части, передавайте через тот же разделитель данные на следующий уровень и выводите их вместе с результатами.