IvanSterligov / University-fractional-counting-with-Pybliometrics

just a simple script to download publication metadata from scopus via API using pybliometris wrapper and to calculate fractions for a given university
6 stars 4 forks source link

Простой скрипт на python, который позволяет скачать публикации организации из Scopus по API и рассчитать ее относительную долю. Используется Pybliometrics, данные выгружаются в экселе, доля в последней колонке.

Как считаем долю? Каждая публикация = 1 очко. Оно делится поровну между авторами. Доля организации от этого очка равна сумме долей аффилированных с ней авторов, а если у автора несколько аффилиаций, его очко делится поровну между ними. Пусть у статьи 3 автора: первый работает в Вышке, второй - в Гарварде, третий - в Вышке и МИАН. Доля каждого автора = 1\3. Доля организаций: Вышка = 1\3 (за первого автора) и 1\6 (за третьего, у него две аффилиации, поэтому дополнительно делим пополам) = 1\2, доля Гарварда = 1\3 (за второго автора), доля МИАН = 1\6 (за третьего автора).

querystring - поисковый запрос, где вы указываете, по какому массиву публикаций проводится расчет. это стандартный запрос advanced search https://service.elsevier.com/app/answers/detail/a_id/11365/supporthub/scopus/~/how-can-i-best-use-the-advanced-search%3F/ там можно указать годы, нужные типы публикаций, нужные журналы и т.д.

target_id - список уникальных идентификаторов организации (у каждой организации их может быть несколько, основной российский источник: https://zenodo.org/record/4775291 (подробнее: https://openriro.github.io/#%D0%A2%D0%B0%D0%B1%D0%BB%D0%B8%D1%86%D0%B0_6_Scopus ). Помогайте нам с развитием этой открытой некоммерческой базы.

Для работы скрипта нужен API с Scopus Search Complete View, он доступен всем подписчикам Scopus без дополнительной платы после соответствующей регистрации (https://dev.elsevier.com/) С настройкой API разбирайтесь самостоятельно, а если не выйдет - призывайте на помощь сотрудников Elsevier (это не я).

Скачивать очень много публикаций (все статьи России и т.д.) не надо, упретесь в лимиты.

Скрипт использует обертку pybliometrics, честь и хвала его автору Майклу Роузу https://pybliometrics.readthedocs.io При первом обращении нужно ввести свой api key (https://dev.elsevier.com/)

Адрес для локального складирования данных можете поменять в самом конце скрипта.

Если что-то не работает, смотрите коды об ошибках https://pybliometrics.readthedocs.io/en/stable/tips.html#error-messages

Скрипт не надо использовать для сдачи официальной отчетности. Никакой ответственности за корректность расчетов и тем более данных в первоисточнике я на себя не беру. Пользуйтесь на свой страх и риск.

Любые доработки и замечания приветствуются, вносите через issues. Я не программист, знания python у меня начальные, не судите строго.

Аналогичный скрипт для Web of Science: https://github.com/IvanSterligov/WoS-Fractional-Counting-Script