Скрипты
Напишу определение слову скрипты для единого понимания этого слова. Скрипт — это программа или программный файл сценарий, которые автоматизируют некоторую задачу, которую пользователь делал бы вручную, используя интерфейс программы.
В данной главе речь пойдёт о 3 скриптах, которые вы можете использовать в процессе поиска кандидатов. Перед тем как использовать готовые шаблоны проверьте установлено ли в вашей ОС языки программирования Python и R. Для Python дополнительной IDE нам не потребуется, скрипты будем запускать в терминале. А для R рекомендую установить R-Studio. С её помощью будет проще работать визуально с результатами поиска.
Три скрипта, два из которых выполняют одну и ту же задачу - позволяют извлечь контактные данные из профилей пользователей с GitHub. Другой скрипты позволяет найти профили пользователя в социальных сетях по уникальному нику (nick) или username. Данные скрипты найдены на GitHub и в интернете, я всего навсего скорректировал два из них, для удобства. В самом низу статьи указа ссылка на репозиторий, с которого можно их скачать. Инструкции написаны для пользователей Linux, но при минимальных знаниях и опыте можно использовать и на MacOS. Для пользователей Windows установка отличается.
Сбор контактов с GitHub
Python script
Скрипт под названием Zen позволяет собирать эл. почту как просто с профиля, так и отдельного репозитория. Если в репозитории несколько контрибьюторов, то он соберёт эл. адреса у каждого. Поэтому будьте внимательны, если пользователь сделал fork какого-либо репозитория, но при этом никакого вклада в развитие проекта не вносил, то бессмыслено запускать скрипт. Рекомендую использовать только те репозитории, которые созданы самим пользователем. Оригинальный репозиторий находится здесь https://github.com/s0md3v/Zen.
- Скачаем файлы скрипта на компьютер. Отрываем терминал и клонируем репозиторий
$ git clone git@gitlab.com:DmitriyBerg/recruiting-tools.git
- Переходим в папку
$ cd recruiting-tools/zen
- Устанавливаем дополнительные модули
$ pip3 install -r requirements.txt
Как пользоваться
- Для того, что бы получить email пользователя открываем терминал и вводим команду.
python zen.py https://github.com/username
- Для поиска email адресов контрибьюторов.
python zen.py https://github.com/username/repository
- Для поиска email адресов организаций.
python zen.py https://github.com/orgs/organzation
- Сохранить email в json файл.
python zen.py https://github.com/username/repository -o /path/to/file
- Снимаем ограничение по запросам.
Github ограничивает 60 запросов в час для не аутотентифицированных запросов, для авторизованных пользователей 6000 запросов в час. Для того чтобы преодолеть ограничение просто введите свой логин.
python zen.py username -u yourUsername
- Для более быстрого поиска используйте многоптоточность.
python zen.py IBM --org -t 20
R script
Отличие скрипта на языке R от скрипта на языке Python заключается в удобстве. Объясню почему. Дело в том, что далеко не у каждого пользователя в профиле указаны контакты и кроме этого некоторые пользователи копируют себе репозитории других пользователей. В с связи с этим приходится всё равно заходить в браузер и через .patch производить поиск контактов. Согласитесь это не совсем удобно. С помощью языка R, работая в R-Studio мы сможем собрать все репозитории пользователя и при необходимости сразу произвести поиск контактов в них.
Выполните установку языка программирования R и IDE (Интегрированная среда разработки от англ. Integrated Development Environment) для работы с ним - R-Studio. Обязательно скачайте файл скрипта из репозитория и сохраните в любом месте на своём компьютере.
Ссылки:
- Установка R - https://cloud.r-project.org/
- Установка R-Studio - https://www.rstudio.com/products/rstudio/download/#download
- Файл скрипта - https://gitlab.com/DmitriyBerg/recruiting-tools/tree/master/R
После того как всё установили и скачали. Запускаем R-Studio и открываем файл скрипта. Он должен называться “github.R”. На своих мониторах вы должны увидеть следующую картинку.
Обращаю внимание для тех кто впервые начинает пользоваться R и R-Studio.
- Выполнять команду install.packages(c(‘jsonlite’, ’tidyverse’, ‘httr’)) для установки пакетов нужно только один раз, так же как установку R и R-Studio.
- Запускать библиотеки library(tidyverse) library(httr) и library(jsonlite) нужно каждый раз когда открываете R-Studio.
- Правильно указывайте клиентскую часть ссылки профиля пользователя вместо USERNAME.
- Правильно указываете названия репозиториев вместо NAME REPOSITORI.
- Изучите короткую инструкцию на русском как пользоваться R-Studio https://r-analytics.blogspot.com/p/rstudio.html
Поиск профилей пользователя в других соц. сетях
Sherlock (Шерлок) - парсер никнеймов по соц. сетям
Оригинал здесь https://github.com/sdushantha/sherlock. В оригинальной версии поиск по 323 соц. сетям, в моём варианте - 25. В качестве альтернативы можете установить похожую программу Snoop https://github.com/snooppr/snoop. Процесс установки так же очень похож. Для граждан России необходимо дополнительно подключать vpn или можно использовать облачные серверы, например Google https://cloud.google.com/shell.
Установка
# клонируем репозиторий
$ git clone git@gitlab.com:DmitriyBerg/recruiting-tools.git
# переходим в папку
$ cd recruiting-tools/sherlock
# устанавливаем дополнительные модули
$ pip3 install -r requirements.txt
Как пользоваться
- Открываем консоль
2. Переходим в папку программы
cd sherlock
3. Запускаем поиск
python3 sherlock nickname
Должен получиться примерно следующий результат. Скипт сохраняет найденные ссылки в файле .txt с названием никнейма, который вы вели в консоле. Для того что бы открыть все ссылки в браузере и перепроверить результат выполните команду firefox `cat file.txt`.