All Projects → WittmannF → Sort Google Scholar

WittmannF / Sort Google Scholar

Sorting Google Scholar search results based on the number of citations

Projects that are alternatives of or similar to Sort Google Scholar

Vietocr
Transformer OCR
Stars: ✭ 170 (+0%)
Mutual labels:  jupyter-notebook
Data science for all
Code and resources for my blog and articles to share Data Science and AI knowledge and learnings with everyone
Stars: ✭ 171 (+0.59%)
Mutual labels:  jupyter-notebook
Alpha Mind
quantitative security portfolio analysis. The analysis pipeline including data storage abstraction, alpha calculation, ML based alpha combining and portfolio calculation.
Stars: ✭ 171 (+0.59%)
Mutual labels:  jupyter-notebook
Shap
A game theoretic approach to explain the output of any machine learning model.
Stars: ✭ 14,917 (+8674.71%)
Mutual labels:  jupyter-notebook
Bert Keyword Extractor
Deep Keyphrase Extraction using BERT
Stars: ✭ 171 (+0.59%)
Mutual labels:  jupyter-notebook
Pytorch Tutorials
Stars: ✭ 170 (+0%)
Mutual labels:  jupyter-notebook
Ml Training Camp
Stars: ✭ 171 (+0.59%)
Mutual labels:  jupyter-notebook
Self Driving Car
Self Driving Car development tools and technologies from GTA Robotics Community members
Stars: ✭ 171 (+0.59%)
Mutual labels:  jupyter-notebook
Data Science Resources
👨🏽‍🏫You can learn about what data science is and why it's important in today's modern world. Are you interested in data science?🔋
Stars: ✭ 171 (+0.59%)
Mutual labels:  jupyter-notebook
Data Science Tutorial
Code material for a data science tutorial
Stars: ✭ 171 (+0.59%)
Mutual labels:  jupyter-notebook
Dive Into Dl Pytorch
本项目将《动手学深度学习》(Dive into Deep Learning)原书中的MXNet实现改为PyTorch实现。
Stars: ✭ 14,234 (+8272.94%)
Mutual labels:  jupyter-notebook
Awesome Python Applications
💿 Free software that works great, and also happens to be open-source Python.
Stars: ✭ 13,275 (+7708.82%)
Mutual labels:  jupyter-notebook
Ipywebrtc
WebRTC for Jupyter notebook/lab
Stars: ✭ 171 (+0.59%)
Mutual labels:  jupyter-notebook
Covid19 Severity Prediction
Extensive and accessible COVID-19 data + forecasting for counties and hospitals. 📈
Stars: ✭ 170 (+0%)
Mutual labels:  jupyter-notebook
Tensorflow Safari Course
Exercises and solutions to accompany my Safari course introducing TensorFlow.
Stars: ✭ 171 (+0.59%)
Mutual labels:  jupyter-notebook
Tutorials
MONAI Tutorials
Stars: ✭ 170 (+0%)
Mutual labels:  jupyter-notebook
Udacity Machine Learning Nanodegree
All projects and lecture notes of the Udacity Machine Learning Engineer Nanodegree.
Stars: ✭ 171 (+0.59%)
Mutual labels:  jupyter-notebook
Timesynth
A Multipurpose Library for Synthetic Time Series Generation in Python
Stars: ✭ 170 (+0%)
Mutual labels:  jupyter-notebook
Dog Project
Stars: ✭ 171 (+0.59%)
Mutual labels:  jupyter-notebook
Mlbox
Machine Learning Algorithms implementations
Stars: ✭ 171 (+0.59%)
Mutual labels:  jupyter-notebook

Sort Google Scholar by the Number of Citations V2.0b

This Python code ranks publications data from Google Scholar by the number of citations. It is useful for finding relevant papers in a specific field.

The data acquired from Google Scholar is Title, Citations, Links and Rank. A new columns with the number of citations per year is also included. The example of the code will look for the top 100 papers related to the keyword, and rank them by the number of citations. This keyword can eiter be included in the command line terminal ($python sortgs.py --kw 'my keyword') or edited in the original file. As output, a .csv file will be returned with the name of the chosen keyword ranked by the number of citations.

UPDATES

  • Try running the code using Google Colab ->
    • No install requirements! Limitations: Can't handle robot checking, so use it carefully.
  • Command line arguments. Ex: $python sortgs.py --kw "deep learning" (results saved in deep_learning.csv)
  • Handling robot checking with selenium.
    • OBS: You might be asked to manually solve the first captcha for retrieving the content of the pages

Misc

If this project was helpful to you in any way, feel free to buy me a cup of coffee :)

paypal

For a feedback, send me an email: fernando [dot] wittmann [at] gmail [dot] com

Usage of sortgs.py

usage: sortgs.py [-h] [--kw KEYWORD] [--sortby SORTBY] [--nresults NRESULTS]
                 [--csvpath CSVPATH] [--notsavecsv] [--plotresults]
                 [--startyear STARTYEAR] [--endyear ENDYEAR]

Example: $python sortgs.py --kw 'deep learning'

optional arguments:
  -h, --help            show this help message and exit
  --kw KEYWORD          Keyword to be searched. Default is 'machine learning'
                        Use double quote followed by simple quote to search 
			for an exact keyword. Example: "'exact keyword'"
  --sortby SORTBY       Column to be sorted by. Default is by the columns
                        "Citations", i.e., it will be sorted by the number of
                        citations. If you want to sort by citations per year,
                        use --sortby "cit/year"
  --nresults NRESULTS   Number of articles to search on Google Scholar.
                        Default is 100. (carefull with robot checking if value
                        is too high)
  --csvpath CSVPATH     Path to save the exported csv file. By default it is
                        the current folder
  --notsavecsv          By default results are going to be exported to a csv
                        file. Select this option to just print results but not
                        store them
  --plotresults         Use this flag in order to plot the results with the
                        original rank in the x-axis and the number of citaions
                        in the y-axis. Default is False
  --startyear STARTYEAR
                        Start year when searching. Default is None
  --endyear ENDYEAR     End year when searching. Default is current year

Example

The following code will search for the top 100 results, rank by number of citations and save as a .csv file (same name of the keyword):

$python sortgs.py --kw "machine learning"

Sorted by number of citations per year (HIGHLY RECOMMENDED):

$python sortgs.py --kw "machine learning" --sortby "cit/year"

From 2005 to 2015:

$python sortgs.py --kw "machine learning" --startyear 2005 --endyear 2015

Save results under a subfolder called 'examples'

$ python sortgs.py --kw 'neural networks' --csvpath './examples/'

Example of output while running:

Loading next 10 results
Robot checking detected, handling with selenium (if installed)
Loading...
Solve captcha manually and press enter here to continue...
year not found, appending 0
Loading next 20 results
Robot checking detected, handling with selenium (if installed)
Loading next 30 results
Robot checking detected, handling with selenium (if installed)
Loading next 40 results

Installation

SortGS is not available (yet) on PyPa. The most straight foward way to use it is the following:

  1. Install Python 3 and its dependencies from Requirements (suggestion: use Ananconda https://www.anaconda.com/distribution/)
  2. Download the repository. Two ways to do this:
  3. Open the folder of sortgs on your terminal (if linux/MAC) or CMD (if windows)
  4. Use the command python sortgs.py --kw "your keyword" (replace "your keyword" to any keyword that you'd like to search)
  5. A CSV file with the name your_keyword.csv should be created.

If those steps are too complicated for you, send me an email with a list of keyworks that you'd like them ranked to: fernando [dot] wittmann [at] gmail [dot] com

Requirements

If you install anaconda, all of those requirements (except selenium) are going to be met:

  • Python 2.7 or Python 3
  • Install from the requirements file: pip install -r requirements.txt

Highly suggested, if having problems with robot checking:

  • ChromeDriver: http://chromedriver.chromium.org/
    • After downloading chromedriver, rename it to chromedriver and add it in a folder accessible by the PATH (Example: your python directory. Mine is at /Users/.../anaconda/bin/)

Contributing

In order to make contributions, all of the tests must be passed. In order to test the code, we will be using the DEBUG mode which is going to use a URL from web archive. Please make sure to save the URL you want to test on web archive in case it is different from the one I already saved. By default it only works in debug mode when using the keywords 'machine learning'. There are 6 tests and all of them are testing different aspects that should match when using SortGS. In order to run the test cases, just run:

$python -m unittest

LICENSE

  • MIT

Citation

This code was originally developed for my MS Dissertation. For referencing this tool, you can use the following:

WITTMANN, Fernando Marcos. Optimization applied to residential non-intrusive load monitoring. 2017. 
Dissertation (Masters) - University of Campinas, School of Electrical and Computer Engineering, Campinas, SP. 
Available in: <http://www.repositorio.unicamp.br/handle/REPOSIP/330610>.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].