Скрипты

Скрипты для сбора информации

Напишу определение слову скрипты для единого понимания этого слова. Скрипт — это программа или программный файл сценарий, которые автоматизируют некоторую задачу, которую пользователь делал бы вручную, используя интерфейс программы.

На момент написания первой версии книги расскажу о 3 скриптах, которые вы можете использовать в процессе поиска кандидатов. Перед тем как использовать готовые шаблоны проверьте установлено ли в вашей ОС языки программирования Python и R. Для Python дополнительной IDE нам не потребуется, скрипты будем запускать в терминале. А для R рекомендую установить R-Studio. С её помощью будет проще работать визуально с результатами поиска.

Три скрипта, два из которых выполняют одну и ту же задачу - позволяют извлечь контактные данные из профилей пользователей с GitHub. Другой скрипты позволяет найти профили пользователя в социальных сетях по уникальному нику (nick) или username. Данные скрипты найдены на GitHub и в интернете, я всего навсего скорректировал два из них, для удобства. В самом низу статьи указа ссылка на репозиторий, с которого можно их скачать.

Сбор контактов с GitHub

Python script

Скрипт под названием Zen позволяет собирать эл. почту как просто с профиля, так и отдельного репозитория. Если в репозитории несколько контрибьюторов, то он соберёт эл. адреса у каждого. Поэтому будьте внимательны, если пользователь сделал fork какого-либо репозитория, но при этом никакого вклада в развитие проекта не вносил, то бессмыслено запускать скрипт. Рекомендую использовать только те репозитории, которые созданы самим пользователем.

  1. Скачаем файлы скрипта на компьютер. Отрываем терминал и клонируем репозиторий
$ git clone git@gitlab.com:DmitriyBerg/recruiting-tools.git
  1. Переходим в папку
$ cd recruiting-tools/zen
  1. Устанавливаем дополнительные модули
$ pip3 install -r requirements.txt

Как пользоваться

  1. Для того, что бы получить email пользователя открываем терминал и вводим команду.
python zen.py https://github.com/username
  1. Для поиска email адресов контрибьюторов.
python zen.py https://github.com/username/repository
  1. Для поиска email адресов организаций.
python zen.py https://github.com/orgs/organzation
  1. Сохранить email в json файл.
python zen.py https://github.com/username/repository -o /path/to/file
  1. Снимаем ограничение по запросам.

Github ограничивает 60 запросов в час для не аутотентифицированных запросов, для авторизованных пользователей 6000 запросов в час. Для того чтобы преодолеть ограничение просто введите свой логин.

python zen.py username -u yourUsername
  1. Для более быстрого поиска используйте многоптоточность.
python zen.py IBM --org -t 20

Рис 6.1.

R script

Отличие скрипта на языке R от скрипта на языке Python заключается в удобстве. Объясню почему. Дело в том, что далеко не у каждого пользователя в профиле указаны контакты и кроме этого некоторые пользователи копируют себе репозитории других пользователей. В с связи с этим приходится всё равно заходить в браузер и через .patch производить поиск контактов. Согласитесь это не совсем удобно. С помощью языка R, работая в R-Studio мы сможем собрать все репозитории пользователя и при необходимости сразу произвести поиск контактов в них.

Выполните установку языка программирования R и IDE (Интегрированная среда разработки от англ. Integrated Development Environment) для работы с ним - R-Studio. Обязательно скачайте файл скрипта из репозитория и сохраните в любом месте на своём компьютере.

Ссылки:

  1. Установка R - https://cloud.r-project.org/
  2. Установка R-Studio - https://www.rstudio.com/products/rstudio/download/#download
  3. Файл скрипта - https://gitlab.com/DmitriyBerg/recruiting-tools/tree/master/R

После того как всё установили и скачали. Запускаем R-Studio и открываем файл скрипта. Он должен называться “github.R”. На своих мониторах вы должны увидеть следующую картинку.

Рис 6.2.

Обращаю внимание для тех кто впервые начинает пользоваться R и R-Studio.

  1. Выполнять команду install.packages(c(‘jsonlite’, ‘tidyverse’, ‘httr’)) для установки пакетов нужно только один раз, так же как установку R и R-Studio.
  2. Запускать библиотеки library(tidyverse) library(httr) и library(jsonlite) нужно каждый раз когда открываете R-Studio.
  3. Правильно указывайте клиентскую часть ссылки профиля пользователя вместо USERNAME.
  4. Правильно указываете названия репозиториев вместо NAME REPOSITORI.
  5. Изучите короткую инструкцию на русском как пользоваться R-Studio https://r-analytics.blogspot.com/p/rstudio.html

Поиск профилей пользователя в других соц. сетях

Sherlock (Шерлок) - парсер никнеймов по соц. сетям

Оригинал здесь https://github.com/sdushantha/sherlock. В оригинальной версии поиск по 75 соц. сетям, в моём варианте - 25.

Для граждан России необходимо дополнительно подключать vpn, т.к. парсит в LinkedIn.

Установка

# клонируем репозиторий
$ git clone git@gitlab.com:DmitriyBerg/recruiting-tools.git

# переходим в папку
$ cd recruiting-tools/sherlock

# устанавливаем дополнительные модули
$ pip3 install -r requirements.txt

Как пользоваться

  1. Открываем консоль и запускаем
python3 sherlock.py
  1. Затем вводим название логина или никнейма

Должен получиться примерно следующий результат. Скипт сохраняет найденные ссылки в файле .txt с названием никнейма, который вы вели в консоле. Для того что бы открыть все ссылки в браузере и перепроверить результат выполните команду firefox `cat file.txt`.

Рис 6.3.