Парсинг Топовых пользователей и репозиториев на Github по ключевому слову в одной строке кода
Table Of Content
- [Парсинг веб-сайтов](https://towardsai.net/p/category/web-scraping)
- И создание карты для поиска пользователей в определенном местоположении
- Мотивация
- Что такое Top Github Scraper?
- Установка и настройка
- Добавление учетных данных
- Для чего можно использовать парсер top-github-scraper?
- Получение URL-адресов лучших репозиториев GitHub
- Получение информации о лучших репозиториях на GitHub
- Получение профилей лучших пользователей GitHub
- Создание карты с полем поиска
- Заключение
- Как создать фальшивые данные с помощью Faker
- Вы можете либо собирать данные, либо создавать свои собственные данные
- Найти общие слова в статье с помощью модуля Python Newspaper и NLTK
- Пошаговое руководство по извлечению информации и поиску идей из газет с использованием newspaper3k и NLTK
- Исследуйте и визуализируйте свою сеть LinkedIn с помощью Python и анализа настроений
- Хотите оптимизировать свой профиль LinkedIn? Почему бы не использовать данные в своих целях?
- Streamlit и spaCy: создайте приложение для предсказания настроений и сходства слов с минимальной областью...
- Всего 10 строк кода!
Парсинг веб-сайтов
И создание карты для поиска пользователей в определенном местоположении
_Отказ от ответственности: _Эта статья предназначена только для образовательных целей. Мы не поощряем никого скрапить веб-сайты, особенно те, которые могут иметь условия против таких действий.
Мотивация
GitHub - это веб-сайт, который помогает разработчикам хранить и отслеживать свой код. Мне нравится GitHub не только потому, что он позволяет мне контролировать мой код, но и потому, что он помогает мне открывать интересные библиотеки, проекты и крутых разработчиков.
На GitHub более 56 миллионов разработчиков. Это означает, что просто исследуя GitHub, вы потенциально можете найти партнеров для своего программного обеспечения или своего следующего сотрудника. Почему бы нам не воспользоваться этой платформой, чтобы найти интересных людей?
Что такое Top Github Scraper?
Tор-github-scraper - это библиотека, которую я создал для парсинга более 1k лучших профилей GitHub в области машинного обучения в моей статье Я спарсил более 1k лучших профилей GitHub в области машинного обучения и вот что я нашел.
Top-github-scraper позволяет получить лучших пользователей, участников и репозитории GitHub на основе определенного ключевого слова.
Для каждого пользователя top-github-scraper парсит 16 различных показателей.
И что еще лучше, вам нужна всего 1 строка кода:
чтобы получить таблицу всех участников лучших репозиториев GitHub при поиске ключевого слова "машинное обучение":
Этот инструмент был полезен для меня, чтобы узнать больше о других пользователях GitHub, поэтому я надеюсь, что он будет полезен и вам!
Установка и настройка
Для установки top-github-scraper выполните следующую команду:
pip install top-github-scraper
Добавление учетных данных
Обратите внимание, что вы можете использовать top-github-scraper без учетных данных. Однако в этом случае вы сможете делать только 60 запросов в час. Если вы добавите свои учетные данные (имя пользователя и токен), вы сможете делать до 5 000 запросов в час.
Чтобы убедиться, что вы можете парсить множество репозиториев и пользователей, добавьте свои учетные данные GitHub в файл .env
в корневом каталоге проекта.
touch .env
Добавьте свое имя пользователя и токен в файл .env
:
GITHUB_USERNAME=вашеимяпользователя
GITHUB_TOKEN=ваштокен
Для чего можно использовать парсер top-github-scraper?
Помимо получения таблицы участников, вы также можете получить другую интересную информацию, такую как лучшие репозитории и пользователи.
Получение URL-адресов лучших репозиториев GitHub
Вы можете получить список URL-адресов репозиториев, которые появляются первыми в результатах поиска при поиске определенного ключевого слова:
с использованием метода get_top_repo_urls
:
[
"/josephmisiti/awesome-machine-learning",
"/wepe/MachineLearning",
"/udacity/machine-learning",
"/Jack-Cherish/Machine-Learning",
"/ZuzooVn/machine-learning-for-software-engineers",
"/rasbt/python-machine-learning-book",
"/lawlite19/MachineLearning_Python",
"/lazyprogrammer/machine_learning_examples",
"/trekhleb/homemade-machine-learning",
"/ujjwalkarn/Machine-Learning-Tutorials",
...
]
или вы можете получить репозитории с наибольшим количеством звезд при поиске определенного ключевого слова:
Запустив приведенный выше код, вы должны увидеть что-то подобное:
['/tensorflow/tensorflow',
'/josephmisiti/awesome-machine-learning',
'/scikit-learn/scikit-learn',
'/fighting41love/funNLP',
'/ZuzooVn/machine-learning-for-software-engineers',
'/ageron/handson-ml',
'/eriklindernoren/ML-From-Scratch',
'/trekhleb/homemade-machine-learning',
'/PaddlePaddle/Paddle',
'/kailashahirwar/cheatsheets-ai',
'/ageron/handson-ml2',
'/ty4z2008/Qix',
'/lutzroeder/netron',
...
]
Получение информации о лучших репозиториях на GitHub
Вы также можете получить информацию о наиболее подходящих репозиториях, включая stargazers_count
, forks_count
, contributors
и информацию о контрибьюторах.
Вам следует получить список словарей, каждый из которых содержит информацию о одном репозитории. Вот информация о 1 репозитории.
{
"stargazers_count": 48620,
"forks_count": 12155,
"contributors": {
"login": [
"josephmisiti",
"josephmmisiti",
"hslatman",
"0asa",
"ajkl",
"ipcenas",
"cogmission",
"spekulatius",
"basickarl",
"NathanEpstein"
],
"url": [
"[https://api.github.com/users/josephmisiti](https://api.github.com/users/josephmisiti)",
"[https://api.github.com/users/josephmmisiti](https://api.github.com/users/josephmmisiti)",
"[https://api.github.com/users/hslatman](https://api.github.com/users/hslatman)",
"[https://api.github.com/users/0asa](https://api.github.com/users/0asa)",
"[https://api.github.com/users/ajkl](https://api.github.com/users/ajkl)",
"[https://api.github.com/users/ipcenas](https://api.github.com/users/ipcenas)",
"[https://api.github.com/users/cogmission](https://api.github.com/users/cogmission)",
"[https://api.github.com/users/spekulatius](https://api.github.com/users/spekulatius)",
"[https://api.github.com/users/basickarl](https://api.github.com/users/basickarl)",
"[https://api.github.com/users/NathanEpstein](https://api.github.com/users/NathanEpstein)"
],
"contributions": [
671,
105,
21,
12,
11,
9,
8,
7,
7,
7
]
}
}
Получение профилей лучших пользователей GitHub
Вы также можете получить список пользователей, у которых больше всего подписчиков, при поиске определенного ключевого слова.
Отлично! Теперь у нас есть данные. Но просто смотреть на таблицу не очень интересно. Мы можем либо анализировать данные, либо создать карту для поиска пользователей по их местоположению.
Создание карты с полем поиска
Если вы работодатель, который ищет будущих сотрудников с помощью GitHub, вам может понадобиться поиск по местоположению. Поэтому мы создадим карту, на которой будут отображаться местоположения лучших пользователей GitHub, как показано ниже:
Мы будем использовать Folium, чтобы создать карту. Установите Folium с помощью команды
pip install folium
Теперь мы получим данные о лучших участниках машинного обучения и пользователей и объединим их вместе.
Получите широту, долготу, адрес и город
Преобразуйте DataFrame pandas в GeoDataFrame
Создайте карту с полем поиска
Отлично! Если вы хотите найти пользователей в Сан-Франциско, введите "Сан-Франциско" в поле поиска. Карта должна указывать вам приблизительное местоположение пользователей. Наведите курсор мыши на каждую метку, чтобы получить информацию о пользователе.
Если вас интересует сотрудничество, отправьте им электронное письмо!
Заключение
Поздравляю! Вы только что научились использовать top-github-scraper для получения лучших пользователей, участников и репозиториев на основе ключевых слов. Вы также узнали, как создать карту с полем поиска, чтобы найти пользователей в вашей области интересов!
Надеюсь, вы будете использовать это как инструмент для получения информации с GitHub и расширения своих связей!
Не стесняйтесь играть с top-github-scraper или кодом, предоставленным в этой статье.
Мне нравится писать о базовых концепциях data science и экспериментировать с различными алгоритмами и инструментами data science. Вы можете связаться со мной в LinkedIn и Twitter.
Поставьте звезду этому репозиторию, если вы хотите посмотреть коды для всех статей, которые я написал. Подпишитесь на меня в Medium, чтобы быть в курсе моих последних статей по data science, подобных этим:
Как создать фальшивые данные с помощью Faker
Вы можете либо собирать данные, либо создавать свои собственные данные
towardsdatascience.com
Найти общие слова в статье с помощью модуля Python Newspaper и NLTK
Пошаговое руководство по извлечению информации и поиску идей из газет с использованием newspaper3k и NLTK
towardsdatascience.com
Исследуйте и визуализируйте свою сеть LinkedIn с помощью Python и анализа настроений
Хотите оптимизировать свой профиль LinkedIn? Почему бы не использовать данные в своих целях?
towardsdatascience.com
Streamlit и spaCy: создайте приложение для предсказания настроений и сходства слов с минимальной областью...
Всего 10 строк кода!
towardsdatascience.com
Переведи введенный markdown код с английского на русский. Сохрани оригинальную разметку markdown и тэги на своих местах. Вместо слов scraping/scraper используй parsing/parser/parse. Возвращай только markdown код, без дополнительного текста