• Stars
    star
    198
  • Rank 196,898 (Top 4 %)
  • Language
    Python
  • License
    MIT License
  • Created almost 9 years ago
  • Updated about 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

📚 Web of Science python client

wos

SOAP Client for querying the Web of Science database

Description

travis readthedocs license version downloads stars

Web of Science (previously Web of Knowledge) is an online subscription-based scientific citation indexing service maintained by Clarivate.

wos is a python SOAP Client (both API and command-line tool) to query the WOS database in order to get XML data from a query using the WWS access.

Installation

The package has been uploaded to PyPI, so you can install the package using pip:

pip install wos

Documentation

This README and the documentation for the classes and methods can be accessed on ReadTheDocs.

Usage

You can use the wos command to query the Web of Science API. If you want to access data that needs to be accessed using the premium API, you also have to authenticate using your username and password.

usage: wos [-h] [--close] [-l] [-u USER] [-p PASSWORD] [-s SID]
{query,doi,connect} ...

Query the Web of Science.

positional arguments:
{query,doi,connect} sub-command help
query query the Web of Science. doi get the WOS ID from the DOI. connect connect and get an SID.
optional arguments:
-h, --help show this help message and exit
--close Close session.
--proxy PROXY HTTP proxy
--timeout TIMEOUT
 API timeout
-l, --lite Wos Lite
-v, --verbose Verbose
authentication:

API credentials for premium access.

-u USER, --user USER -p PASSWORD, --password PASSWORD -s SID, --sid SID

You can use the WOS Lite API using the --lite parameter (for each query).

You can also authenticate using the session id (SID). In fact the sessions are not closed by the command line utility. Example:

$ wos --user JohnDoe --password 12345 connect
Authenticated using SID: ABCDEFGHIJKLM

$ wos --sid ABCDEFGHIJKLM query 'AU=Knuth Donald' -c1
Authenticated using SID: ABCDEFGHIJKLM
<?xml version="1.0" ?>
<records>
    <REC r_id_disclaimer="ResearcherID data provided by Clarivate Analytics">
        <UID>WOS:000287850200007</UID>
        <static_data>
            <summary>
                <EWUID>
                    <WUID coll_id="WOS"/>
                    <edition value="WOS.SCI"/>
                </EWUID>
                <pub_info coverdate="MAR 2011" has_abstract="N" issue="1"
                          pubmonth="MAR" pubtype="Journal" pubyear="2011"
                          sortdate="2011-03-01" vol="33">
                    <page begin="33" end="45" page_count="13">33-45</page>
                </pub_info>
                <titles count="6">
                    <title type="source">MATHEMATICAL INTELLIGENCER</title>
....

$ wos --sid ABCDEFGHIJKLM doi '10.1007/s00283-010-9170-7'
10.1007/s00283-010-9170-7

Check the user_query documentation to understand how to create query strings.

Example

Obviously you can also use the python client programmatically:

from wos import WosClient
import wos.utils

with WosClient('JohnDoe', '12345') as client:
    print(wos.utils.query(client, 'AU=Knuth Donald'))

APIs

In wos 0.1.11+, the WosClient class can access the following APIs.

[FAQ] I cannot connect ...

I am not affiliated with Clarivate. The library leverages the Web of Science WWS API (Web Services Premium or Lite), which is a paid service offered by Clarivate. This means that your institution has to pay for the Web of Science Core Collection access. The simple registration to Web of Knowledge / Web of Science does not entitle you to access the WWS API service.

So if you receive errors like No matches returned for Username or No matches returned for IP, these errors are thrown directly by the WWS API server. This means that the library is correctly communicating with the server, but you do not have access to the Web Services API. I do understand that you can access the WOS website from your network, but the website access and the API access (used in this project) are two separated products, and the website access does not imply the API access, since Clarivate bills them separately. This project does not scrape the website (which would violate the terms of usage) but invokes the WWS APIs offered by Clarivate. Thus there is nothing this project can do to help you.

If you think this is an error and you should be entitled to access the services, please contact Clarivate support first and verify if you have the WWS access. Please open an issue ONLY when you have (1) verified with Clarivate support that you have WWS access; (2) verified that you are connected from the correct network.

Disclaimer

All product names, trademarks, and registered trademarks are the property of their respective owners. All company, product, and service names used in this document are for identification purposes only. The use of these names, trademarks, and brands do not constitute an endorsement or recommendation by the companies.

More Repositories

1

lyricwikia

Python API to get song lyrics from LyricWikia
Python
37
star
2

paste.vim

Paste from clipboard to vim at full speed.
Vim Script
27
star
3

limit

python decorator that limits the calling rate of a function
Python
16
star
4

utf9

Encode and decode text using UTF-9.
Python
10
star
5

sfw

🌎 it's like a condom, for your internet.
JavaScript
6
star
6

awesome-python-decorators

🐍 A curated list of awesome Python decorators.
Python
6
star
7

.dotfiles

My personal dotfiles
Shell
5
star
8

theoldreader-chrome-app

The Old Reader bookmark application for Chrome
4
star
9

poloniex_evaluator

Evaulate your Poloniex market trades
Python
4
star
10

bigstack

python decorator that increases the stack size for the function
Python
4
star
11

python-memo

python decorators to memoize function results (also for classes)
Python
3
star
12

jupiter-py

Distributed SQL Planner
Python
3
star
13

qubet

a cube game in Qt
C++
2
star
14

infinite

itertools operations on infinite generators
Python
2
star
15

stop

stdin top
Python
2
star
16

ctci

python solutions to Cracking the Coding Interview
Python
2
star
17

anvur-journal-rating

ISSN delle riviste scientifiche e di Classe A pubblicati da ANVUR
Python
2
star
18

query_analyzer

Java
1
star
19

dynenc

Dynamic Encryption Server
Python
1
star
20

collmap

Collaboration Map
R
1
star
21

wilde

Sometimes citing the program committee members pays off, sometimes not !
Python
1
star
22

pkg-fishtory

provide bash history completions in fish
Shell
1
star
23

pg-distopt

Optimize PostgreSQL EXPLAIN results on multiple servers
Python
1
star
24

DSA

Distributed Systems and Applications Project
Java
1
star
25

combiner

Combine multiple .c and .h files into a single .c/.h pair based on inclusion
Python
1
star
26

storm-joiner

Use a Storm-like mechanism to join tables on different servers avoiding lazy or curious computational servers
Java
1
star
27

cineca-scopus

Query Scopus database
Python
1
star
28

until_nonidle

Execute something as long as the user is idling.
Python
1
star
29

loose-associations

Python code for my master thesis about databases and privacy
Python
1
star
30

proxapy

Simple API proxy that uses Flask/requests/gunicorn
Python
1
star
31

timeme

python decorator that prints the running time of a function
Python
1
star
32

loose-associations-java

Java Version of Loose Associations
Java
1
star