Привет всем! Интересные вопросы иногда мне задают в Телеграм. Вот и в этот раз Александр (который кроме своего имени не указал, к сожалению больше никаких данных), вопрос задал (а вопрос звучал так: Здравствуйте, меня интересует — существует ли возможность через importhtml вытащить эл. адрес любого сайта?), ответ будет читать в виде отдельного поста :). Итак: Google-таблицы как сборщик почтовых адресов
Итак, насколько удалось разобраться в процессе чтения мануалов в Гугл-таблицам — с их помощью можно если не все, то очень многое. Так и в этот раз — через importhtml вытащить электронный адрес любого сайта — можно? 🙂 В старой теперь уже записи я рассматривал вопрос парсинга Title, Description, Keywords сайтов с помощью Google Docs. Но на самом деле легкое модифицирование кода позволяет еще собирать данные из таблиц на необходимом сайте, а уж электронные адреса — тем более!
Давайте рассмотрим пример. Для этого я создал страницу, доступную по ссылке. На ней — кроме списка фейковых электронных адресов, созданных с помощью небольшого кода на Python (код так же доступен для скачивания — используйте где ходите 🙂 ) — имеется так же пример таблицы с некоторыми данными. Попробуем извлечь данные. Для этого — создадим онлайн-таблицу в Google Docs (описывать КАК это делать — я не буду, уверен, вы знаете это сами), а после сделаем следующие колонки:
Ссылка на сайт | Title page | Содержимое таблицы | Все ссылки на странице | Только почта |
В колонке «Ссылка на сайт» вводим ссылку на сайт 🙂 В нашем случае это: https://lavrynenko.com/spisok-poddelnyx-email-adresov-generator/
Теперь стоит вопрос — как получить Title page? Для этого в колонке «Title page» вводим следующую конструкцию:
=IMPORTXML(A2;»//title») — т.е. импортируем данные xml из ячейки А2 (а там у нас ссылка на страницу имеется) и собственно — указываем что импортировать: title
После этого в колонке «Содержимое таблицы» используем конструкцию:
=IMPORTXML(A2;»//td») — т.е. применительно к колонке А2 (та самая, где ссылка на страницу) используем импорт xml-данных, а именно все, что имеется в теге «td». Таким образом мы получаем все данные из таблицы на странице.
Ну и теперь перейдем к ссылкам на странице. Для этого в колонке «Все ссылки на странице» используем конструкцию:
=importxml(A2; «//a[@href]»), где указываем, что нужно импортировать xml-данные из ссылки, которая расположена в поле А2, а именно данные, которые относятся к тегу «a href». После этого в нашей он-лайн таблице отобразятся ВСЕ ссылки, имеющиеся на этой странице. Но все ссылки — это не то, что нам нужно. Нам нужны чистые электронные адреса. Так давайте их получим 🙂 Для этого отфильтруем только адреса с помощью конструкции, которую мы расположим в колонке «Только почта»:
=regexextract(D2; «[a-zA-Z0-9_\.\+-]+@[a-zA-Z0-9-\.]+\.[a-zA-Z0-9-]{2,15}») — что в переводе на человеческий язык можно перевести как: используем регулярное выражение ко всему, что находится в ячейке D2. Что касается регулярного выражения — то оно создано так, что бы получить все электронные адреса (более подробно о регулярных выражениях я пока не рассказывал, ибо использовать регулярки научился, а вот составлять — что бы совсем качественно — пока нет 🙂 Но в ближайшем будущем что-то на эту тему накропаю, да).
Собственно — это все, что можно сказать по теме «Google-таблицы как сборщик почтовых адресов» 🙂
Пример таблицы доступен по ссылке 🙂 Заходите!
Спасибо за внимание. Как всегда — в случае возникновения вопросов пишите на почту, или в Telegram.
Support the Blog!
Running a blog takes a lot of effort, time, and passion. Your donations help improve the content, inspire new ideas, and keep the project going.
If you’ve enjoyed the blog’s materials, any support would mean the world to me. Thank you for being here! ❤️