Giter Site home page Giter Site logo

ivansterligov / university-fractional-counting-with-pybliometrics Goto Github PK

View Code? Open in Web Editor NEW
6.0 1.0 4.0 24 KB

just a simple script to download publication metadata from scopus via API using pybliometris wrapper and to calculate fractions for a given university

Python 100.00%

university-fractional-counting-with-pybliometrics's Introduction

Простой скрипт на 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

university-fractional-counting-with-pybliometrics's People

Contributors

ivansterligov avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

university-fractional-counting-with-pybliometrics's Issues

Ошибка при установке значения в DataFrame после получения данных

Возможно поменялся формат ответа от Scopus API, теперь тип возвращаемого значения - список, состоящий из именованных кортежей типа pybliometrics.scopus.scopus_search.Document:
image

При попытке положить такие значения в DataFrame описанным способом:
df = pd.DataFrame(pd.DataFrame(s.results))
я получаю ошибку

ValueError: Cannot set a DataFrame with multiple columns to the single column share

image

Возможно проблема в том, что в ответе на запрос мы получаем теперь список именованных кортежей, а не просто список/массив записей:
Document(eid='2-s2.0-85099879119', doi='10.1088/1742-6596/1703/1/012016', pii=None, pubmed_id=None, title='Evaluation of the effectiveness of geographic information systems adaptation to destabilizing factors', subtype='cp', subtypeDescription='Conference Paper', creator='Burlov V.G.', afid=None, affilname='Russian State Hydrometeorological University', affiliation_city='Saint Petersburg', affiliation_country='Russian Federation', author_count=None, author_names=None, author_ids=None, author_afids=None, coverDate='2020-12-23', coverDisplayDate='23 December 2020', publicationName='Journal of Physics: Conference Series', issn='17426588', source_id='130053', eIssn='17426596', aggregationType='Conference Proceeding', volume='1703', issueIdentifier='1', article_number='012016', pageRange=None, description=None, authkeywords=None, citedby_count=3, openaccess=1, freetoread='publisherfullgold', freetoreadLabel='Gold', fund_acr=None, fund_no=None, fund_sponsor=None)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.