Учебное пособие по очистке профилей Google Scholar на основе названия или аббревиатуры университета с использованием Python.

Что будет очищено

Как работает фильтрация университетов

Предпосылки

Извлечение базовых знаний с помощью селекторов CSS

Селекторы CSS объявляют, к какой части разметки применяется стиль, что позволяет извлекать данные из соответствующих тегов и атрибутов.

Если вы еще не парились с селекторами CSS, в моем блоге есть отдельная запись о том, как использовать селекторы CSS при парсинге веб-страниц, в которой рассказывается, что это такое, плюсы и минусы, и почему они важны для парсинга веб-страниц. перспектива.

Отдельная виртуальная среда

Если вы раньше не работали с виртуальной средой, ознакомьтесь с моей специальной записью в блоге Учебное пособие по виртуальной среде Python с использованием Virtualenv и Poetry, чтобы ознакомиться с ней.

Короче говоря, это то, что создает независимый набор установленных библиотек, включая разные версии Python, которые могут сосуществовать друг с другом в одной системе, что предотвращает конфликты библиотек или версий Python.

📌Примечание: это не является строгим требованием для этой записи в блоге.

Установите библиотеки:

Уменьшить вероятность блокировки

Есть вероятность, что запрос может быть заблокирован. Взгляните на как уменьшить вероятность блокировки во время веб-скрейпинга, есть одиннадцать способов обойти блокировки с большинства веб-сайтов.

Полный код

Код Пояснение

Импортировать библиотеки:

Определите функцию:

Создайте параметры поискового запроса, заголовки запроса и сделайте запрос:

Создайте временный list для хранения извлеченных данных:

Создайте цикл while:

Сделайте запрос и передайте URL params и headers:

Извлеките данные:

Добавить извлеченные данные во временный list в виде словаря:

Проверьте if наличие токена следующей страницы:

Вернуть и распечатать данные:

Часть вывода:

Решение SerpApi

В качестве альтернативы вы можете добиться того же, используя API Google Scholar Profiles от SerpApi.

Отличие в том, что не нужно создавать парсер и поддерживать его, разбираться, как обходить блокировки от поисковых систем и как его масштабировать.

Пример кода для интеграции, чтобы добиться почти того же, что и в примере parsel:

Часть вывода:

Ссылки

Outro

Если у вас есть чем поделиться, какие-либо вопросы, предложения или что-то, что работает неправильно, свяжитесь с нами через Twitter по адресу @dimitryzub или @serp_api.

С уважением,
Дмитрий, и остальная часть команды SerpApi.

Присоединяйтесь к нам на Reddit | Твиттер | "YouTube"

Добавьте Запрос функции💫 или Ошибку🐞

Дополнительные материалы на PlainEnglish.io. Подпишитесь на нашу бесплатную еженедельную рассылку новостей. Подпишитесь на нас в Twitter и LinkedIn. Присоединяйтесь к нашему сообществу Discord.