badges / shields

Concise, consistent, and legible badges in SVG and raster format
https://shields.io
Creative Commons Zero v1.0 Universal
23.41k stars 5.49k forks source link

Badge request: google scholar cite #7040

Closed lawpdas closed 2 years ago

lawpdas commented 2 years ago

:clipboard: Description

Could you provide a badge for google scholar? This badge is used to show how many times a paper is cited. e.g: "cited by | 283" image

:link: Data

Sorry, I do not know how to get the data. Maybe it can be crawled.

:microphone: Motivation

I want to write an awesome paper list, where I want to show the number of citations.

chris48s commented 2 years ago

I do not know how to get the data. Maybe it can be crawled

Hi. Thanks for the suggestion. but crawling or scraping from the web would not be a suitable apoproach. As noted in https://github.com/badges/shields/blob/7d452472defa0e0bd71d6443393e522e8457f856/CONTRIBUTING.md#badge-guidelines

Badges should not obtain data by scraping web pages - these are likely to break frequently. Whereas API publishers are incentivised to maintain a stable platform for their users, authors of web pages have no such incentive.

Feel free to re-open if there is a way of getting this data from an API or structured data source.

lawpdas commented 2 years ago

Thanks for your reply! I found an API to get the data "cited_by", but I don't know whether it could be used.

alanwilter commented 2 years ago

I vouched for Shield implementing an endpoint with something around Serpapi as @lawpdas pointed out. For example, using the "free" tier (100 queries per month), I can get:

https://serpapi.com/search.json?engine=google_scholar&q=ACPYPE-Antechamber+python+parser+interface&api_key=_your_serpapi_private_key

which gives (TLDR):

``` json { "search_metadata": { "id": "61ccca622e7d6bc1c7cdf5e7", "status": "Success", "json_endpoint": "https://serpapi.com/searches/7d7bbb4f87db5bbf/61ccca622e7d6bc1c7cdf5e7.json", "created_at": "2021-12-29 20:51:46 UTC", "processed_at": "2021-12-29 20:51:46 UTC", "google_scholar_url": "https://scholar.google.com/scholar?q=ACPYPE-Antechamber+python+parser+interface&hl=en", "raw_html_file": "https://serpapi.com/searches/7d7bbb4f87db5bbf/61ccca622e7d6bc1c7cdf5e7.html", "total_time_taken": 1.54 }, "search_parameters": { "engine": "google_scholar", "q": "ACPYPE-Antechamber python parser interface", "hl": "en" }, "search_information": { "organic_results_state": "Results for exact spelling", "total_results": 1040, "time_taken_displayed": 0.03, "query_displayed": "ACPYPE-Antechamber python parser interface" }, "organic_results": [ { "position": 0, "title": "ACPYPE-Antechamber python parser interface", "result_id": "4EdLgbJlEtEJ", "type": "Html", "link": "https://link.springer.com/article/10.1186/1756-0500-5-367", "snippet": "ACPYPE (or AnteChamber PYthon Parser interfacE) is a wrapper script around the ANTECHAMBER software that simplifies the generation of small molecule topologies and parameters for a variety of molecular dynamics programmes like GROMACS, CHARMM and …", "publication_info": { "summary": "AWS Da Silva, WF Vranken - BMC research notes, 2012 - Springer", "authors": [ { "name": "WF Vranken", "link": "https://scholar.google.com/citations?user=2PfcYK4AAAAJ&hl=en&oi=sra", "serpapi_scholar_link": "https://serpapi.com/search.json?author_id=2PfcYK4AAAAJ&engine=google_scholar_author&hl=en", "author_id": "2PfcYK4AAAAJ" } ] }, "resources": [ { "title": "springer.com", "file_format": "HTML", "link": "https://link.springer.com/article/10.1186/1756-0500-5-367" } ], "inline_links": { "serpapi_cite_link": "https://serpapi.com/search.json?engine=google_scholar_cite&q=4EdLgbJlEtEJ", "html_version": "https://link.springer.com/article/10.1186/1756-0500-5-367", "cited_by": { "total": 1394, "link": "https://scholar.google.com/scholar?cites=15065215520855508960&as_sdt=40005&sciodt=0,10&hl=en", "cites_id": "15065215520855508960", "serpapi_scholar_link": "https://serpapi.com/search.json?as_sdt=40005&cites=15065215520855508960&engine=google_scholar&hl=en" }, "related_pages_link": "https://scholar.google.com/scholar?q=related:4EdLgbJlEtEJ:scholar.google.com/&scioq=ACPYPE-Antechamber+python+parser+interface&hl=en&as_sdt=0,10", "versions": { "total": 22, "link": "https://scholar.google.com/scholar?cluster=15065215520855508960&hl=en&as_sdt=0,10", "cluster_id": "15065215520855508960", "serpapi_scholar_link": "https://serpapi.com/search.json?as_sdt=0%2C10&cluster=15065215520855508960&engine=google_scholar&hl=en" } } }, { "position": 1, "title": "LiGRO: a graphical user interface for protein–ligand molecular dynamics", "result_id": "Gow2ItpTU7kJ", "link": "https://link.springer.com/article/10.1007/s00894-017-3475-9", "snippet": "… use another program such as ACPYPE (AnteChamber PYthon Parser interfacE), a tool based on … To overcome these limitations, several graphical user interfaces (GUIs) have been … MD tools in a single, easy-to-use, python-based GUI. Its design takes advantage of the extensive …", "publication_info": { "summary": "LP Kagami, GM das Neves, AWS da Silva… - Journal of molecular …, 2017 - Springer", "authors": [ { "name": "LP Kagami", "link": "https://scholar.google.com/citations?user=93Jr-AYAAAAJ&hl=en&oi=sra", "serpapi_scholar_link": "https://serpapi.com/search.json?author_id=93Jr-AYAAAAJ&engine=google_scholar_author&hl=en", "author_id": "93Jr-AYAAAAJ" }, { "name": "GM das Neves", "link": "https://scholar.google.com/citations?user=oAVx9sEAAAAJ&hl=en&oi=sra", "serpapi_scholar_link": "https://serpapi.com/search.json?author_id=oAVx9sEAAAAJ&engine=google_scholar_author&hl=en", "author_id": "oAVx9sEAAAAJ" } ] }, "inline_links": { "serpapi_cite_link": "https://serpapi.com/search.json?engine=google_scholar_cite&q=Gow2ItpTU7kJ", "cited_by": { "total": 3, "link": "https://scholar.google.com/scholar?cites=13354109516425628698&as_sdt=40005&sciodt=0,10&hl=en", "cites_id": "13354109516425628698", "serpapi_scholar_link": "https://serpapi.com/search.json?as_sdt=40005&cites=13354109516425628698&engine=google_scholar&hl=en" }, "related_pages_link": "https://scholar.google.com/scholar?q=related:Gow2ItpTU7kJ:scholar.google.com/&scioq=ACPYPE-Antechamber+python+parser+interface&hl=en&as_sdt=0,10", "versions": { "total": 5, "link": "https://scholar.google.com/scholar?cluster=13354109516425628698&hl=en&as_sdt=0,10", "cluster_id": "13354109516425628698", "serpapi_scholar_link": "https://serpapi.com/search.json?as_sdt=0%2C10&cluster=13354109516425628698&engine=google_scholar&hl=en" } } }, { "position": 2, "title": "BioSimSpace: An interoperable Python framework for biomolecular simulation", "result_id": "yeqRRSfNh4sJ", "type": "Pdf", "link": "https://joss.theoj.org/papers/10.21105/joss.01831.pdf", "snippet": "… save it as a regular Python script to run from the command-line. (For inclusion here we simply include the Python script representation of the … a custom ipywidgets based graphical user interface for interative use in Jupyter, or a custom argparse parser for handling command-line …", "publication_info": { "summary": "LO Hedges, ASJS Mey, CA Laughton… - Journal of Open …, 2019 - joss.theoj.org", "authors": [ { "name": "LO Hedges", "link": "https://scholar.google.com/citations?user=y7LUgJwAAAAJ&hl=en&oi=sra", "serpapi_scholar_link": "https://serpapi.com/search.json?author_id=y7LUgJwAAAAJ&engine=google_scholar_author&hl=en", "author_id": "y7LUgJwAAAAJ" }, { "name": "ASJS Mey", "link": "https://scholar.google.com/citations?user=_NNNlvMAAAAJ&hl=en&oi=sra", "serpapi_scholar_link": "https://serpapi.com/search.json?author_id=_NNNlvMAAAAJ&engine=google_scholar_author&hl=en", "author_id": "_NNNlvMAAAAJ" } ] }, "resources": [ { "title": "theoj.org", "file_format": "PDF", "link": "https://joss.theoj.org/papers/10.21105/joss.01831.pdf" } ], "inline_links": { "serpapi_cite_link": "https://serpapi.com/search.json?engine=google_scholar_cite&q=yeqRRSfNh4sJ", "cited_by": { "total": 17, "link": "https://scholar.google.com/scholar?cites=10054230261682531017&as_sdt=40005&sciodt=0,10&hl=en", "cites_id": "10054230261682531017", "serpapi_scholar_link": "https://serpapi.com/search.json?as_sdt=40005&cites=10054230261682531017&engine=google_scholar&hl=en" }, "related_pages_link": "https://scholar.google.com/scholar?q=related:yeqRRSfNh4sJ:scholar.google.com/&scioq=ACPYPE-Antechamber+python+parser+interface&hl=en&as_sdt=0,10", "versions": { "total": 14, "link": "https://scholar.google.com/scholar?cluster=10054230261682531017&hl=en&as_sdt=0,10", "cluster_id": "10054230261682531017", "serpapi_scholar_link": "https://serpapi.com/search.json?as_sdt=0%2C10&cluster=10054230261682531017&engine=google_scholar&hl=en" }, "cached_page_link": "https://scholar.googleusercontent.com/scholar?q=cache:yeqRRSfNh4sJ:scholar.google.com/+ACPYPE-Antechamber+python+parser+interface&hl=en&as_sdt=0,10" } }, { "position": 3, "title": "MemGen: A general web server for the setup of lipid membrane simulation systems", "result_id": "fq2XyEqB-f0J", "link": "https://academic.oup.com/bioinformatics/article-abstract/31/17/2897/183942", "snippet": "Motivation: Molecular dynamics simulations provide atomic insight into the physicochemical characteristics of lipid membranes and hence, a wide range of force field families capable of modelling various lipid types have been developed in recent years. To model membranes in …", "publication_info": { "summary": "CJ Knight, JS Hub - Bioinformatics, 2015 - academic.oup.com", "authors": [ { "name": "JS Hub", "link": "https://scholar.google.com/citations?user=VTSu5kgAAAAJ&hl=en&oi=sra", "serpapi_scholar_link": "https://serpapi.com/search.json?author_id=VTSu5kgAAAAJ&engine=google_scholar_author&hl=en", "author_id": "VTSu5kgAAAAJ" } ] }, "resources": [ { "title": "oup.com", "file_format": "HTML", "link": "https://academic.oup.com/bioinformatics/article/31/17/2897/183942" } ], "inline_links": { "serpapi_cite_link": "https://serpapi.com/search.json?engine=google_scholar_cite&q=fq2XyEqB-f0J", "html_version": "https://academic.oup.com/bioinformatics/article/31/17/2897/183942", "cited_by": { "total": 49, "link": "https://scholar.google.com/scholar?cites=18300800718989667710&as_sdt=40005&sciodt=0,10&hl=en", "cites_id": "18300800718989667710", "serpapi_scholar_link": "https://serpapi.com/search.json?as_sdt=40005&cites=18300800718989667710&engine=google_scholar&hl=en" }, "related_pages_link": "https://scholar.google.com/scholar?q=related:fq2XyEqB-f0J:scholar.google.com/&scioq=ACPYPE-Antechamber+python+parser+interface&hl=en&as_sdt=0,10", "versions": { "total": 12, "link": "https://scholar.google.com/scholar?cluster=18300800718989667710&hl=en&as_sdt=0,10", "cluster_id": "18300800718989667710", "serpapi_scholar_link": "https://serpapi.com/search.json?as_sdt=0%2C10&cluster=18300800718989667710&engine=google_scholar&hl=en" } } }, { "position": 4, "title": "Primadorac: A free web interface for the assignment of partial charges, chemical topology, and bonded parameters in organic or drug molecules", "result_id": "Pt3QVoIhCuIJ", "link": "https://pubs.acs.org/doi/abs/10.1021/acs.jcim.7b00145", "snippet": "… web interface for generating the topology and the parameter files of organic or drug molecules to be used in molecular mechanics or molecular dynamics calculations. The interface relies on our in-house FORTRAN90 parser, … The interface has been tested on about 52,000 …", "publication_info": { "summary": "P Procacci - Journal of chemical information and modeling, 2017 - ACS Publications", "authors": [ { "name": "P Procacci", "link": "https://scholar.google.com/citations?user=pkifkacAAAAJ&hl=en&oi=sra", "serpapi_scholar_link": "https://serpapi.com/search.json?author_id=pkifkacAAAAJ&engine=google_scholar_author&hl=en", "author_id": "pkifkacAAAAJ" } ] }, "resources": [ { "title": "researchgate.net", "file_format": "PDF", "link": "https://www.researchgate.net/profile/Piero-Procacci/publication/317372876_PrimaDORAC_A_Free_Web_Interface_for_the_Assignment_of_Partial_Charges_Chemical_Topology_and_Bonded_Parameters_in_Organic_or_Drug_Molecules/links/59cb81faa6fdcc451d5caac3/PrimaDORAC-A-Free-Web-Interface-for-the-Assignment-of-Partial-Charges-Chemical-Topology-and-Bonded-Parameters-in-Organic-or-Drug-Molecules.pdf" } ], "inline_links": { "serpapi_cite_link": "https://serpapi.com/search.json?engine=google_scholar_cite&q=Pt3QVoIhCuIJ", "cited_by": { "total": 24, "link": "https://scholar.google.com/scholar?cites=16287867846024813886&as_sdt=40005&sciodt=0,10&hl=en", "cites_id": "16287867846024813886", "serpapi_scholar_link": "https://serpapi.com/search.json?as_sdt=40005&cites=16287867846024813886&engine=google_scholar&hl=en" }, "related_pages_link": "https://scholar.google.com/scholar?q=related:Pt3QVoIhCuIJ:scholar.google.com/&scioq=ACPYPE-Antechamber+python+parser+interface&hl=en&as_sdt=0,10", "versions": { "total": 4, "link": "https://scholar.google.com/scholar?cluster=16287867846024813886&hl=en&as_sdt=0,10", "cluster_id": "16287867846024813886", "serpapi_scholar_link": "https://serpapi.com/search.json?as_sdt=0%2C10&cluster=16287867846024813886&engine=google_scholar&hl=en" } } }, { "position": 5, "title": "Different interface orientations of pentacene and PTCDA induce different degrees of disorder", "result_id": "EUWgfUtXsjgJ", "type": "Html", "link": "https://nanoscalereslett.springeropen.com/articles/10.1186/1556-276X-7-248", "snippet": "… The parameter conversion from amber to GROMACS was done with the help of Antechamber python parser interface (ACPYPE)[19], the recommended tool for using GAFF with GROMACS, cf[8, 20–22]. After simulation, a check of basic molecule parameters was done and the …", "publication_info": { "summary": "A Poschlad, V Meded, R Maul… - Nanoscale …, 2012 - nanoscalereslett.springeropen.com", "authors": [ { "name": "V Meded", "link": "https://scholar.google.com/citations?user=5KnEvuwAAAAJ&hl=en&oi=sra", "serpapi_scholar_link": "https://serpapi.com/search.json?author_id=5KnEvuwAAAAJ&engine=google_scholar_author&hl=en", "author_id": "5KnEvuwAAAAJ" } ] }, "resources": [ { "title": "springeropen.com", "file_format": "HTML", "link": "https://nanoscalereslett.springeropen.com/articles/10.1186/1556-276X-7-248" } ], "inline_links": { "serpapi_cite_link": "https://serpapi.com/search.json?engine=google_scholar_cite&q=EUWgfUtXsjgJ", "html_version": "https://nanoscalereslett.springeropen.com/articles/10.1186/1556-276X-7-248", "cited_by": { "total": 10, "link": "https://scholar.google.com/scholar?cites=4085423793720280337&as_sdt=40005&sciodt=0,10&hl=en", "cites_id": "4085423793720280337", "serpapi_scholar_link": "https://serpapi.com/search.json?as_sdt=40005&cites=4085423793720280337&engine=google_scholar&hl=en" }, "related_pages_link": "https://scholar.google.com/scholar?q=related:EUWgfUtXsjgJ:scholar.google.com/&scioq=ACPYPE-Antechamber+python+parser+interface&hl=en&as_sdt=0,10", "versions": { "total": 18, "link": "https://scholar.google.com/scholar?cluster=4085423793720280337&hl=en&as_sdt=0,10", "cluster_id": "4085423793720280337", "serpapi_scholar_link": "https://serpapi.com/search.json?as_sdt=0%2C10&cluster=4085423793720280337&engine=google_scholar&hl=en" }, "cached_page_link": "https://scholar.googleusercontent.com/scholar?q=cache:EUWgfUtXsjgJ:scholar.google.com/+ACPYPE-Antechamber+python+parser+interface&hl=en&as_sdt=0,10" } }, { "position": 6, "title": "Topology and dynamics of the interaction between 5-nitroimidazole radiosensitizers and duplex DNA studied by a combination of docking, molecular dynamic …", "result_id": "y0jLvahp8S8J", "link": "https://www.sciencedirect.com/science/article/pii/S002228601100175X", "snippet": "… PYthon Parser interfacE (ACPYPE) [31]. It is a tool based on Python programming language to use ANTECHAMBER (currently bundled in AmberTools version 1.4) [32] to generate parameters and topologies for chemical compounds and to interface with other python …", "publication_info": { "summary": "TC Ramalho, TCC França, WA Cortopassi… - Journal of Molecular …, 2011 - Elsevier", "authors": [ { "name": "TC Ramalho", "link": "https://scholar.google.com/citations?user=zASKtkMAAAAJ&hl=en&oi=sra", "serpapi_scholar_link": "https://serpapi.com/search.json?author_id=zASKtkMAAAAJ&engine=google_scholar_author&hl=en", "author_id": "zASKtkMAAAAJ" }, { "name": "TCC França", "link": "https://scholar.google.com/citations?user=IxV2_GMAAAAJ&hl=en&oi=sra", "serpapi_scholar_link": "https://serpapi.com/search.json?author_id=IxV2_GMAAAAJ&engine=google_scholar_author&hl=en", "author_id": "IxV2_GMAAAAJ" }, { "name": "WA Cortopassi", "link": "https://scholar.google.com/citations?user=Nz4Zc-wAAAAJ&hl=en&oi=sra", "serpapi_scholar_link": "https://serpapi.com/search.json?author_id=Nz4Zc-wAAAAJ&engine=google_scholar_author&hl=en", "author_id": "Nz4Zc-wAAAAJ" } ] }, "resources": [ { "title": "academia.edu", "file_format": "PDF", "link": "https://www.academia.edu/download/47530486/Topology_and_dynamics_of_the_interaction20160726-26488-93rw9p.pdf" } ], "inline_links": { "serpapi_cite_link": "https://serpapi.com/search.json?engine=google_scholar_cite&q=y0jLvahp8S8J", "cited_by": { "total": 17, "link": "https://scholar.google.com/scholar?cites=3454658562629519563&as_sdt=40005&sciodt=0,10&hl=en", "cites_id": "3454658562629519563", "serpapi_scholar_link": "https://serpapi.com/search.json?as_sdt=40005&cites=3454658562629519563&engine=google_scholar&hl=en" }, "related_pages_link": "https://scholar.google.com/scholar?q=related:y0jLvahp8S8J:scholar.google.com/&scioq=ACPYPE-Antechamber+python+parser+interface&hl=en&as_sdt=0,10", "versions": { "total": 6, "link": "https://scholar.google.com/scholar?cluster=3454658562629519563&hl=en&as_sdt=0,10", "cluster_id": "3454658562629519563", "serpapi_scholar_link": "https://serpapi.com/search.json?as_sdt=0%2C10&cluster=3454658562629519563&engine=google_scholar&hl=en" } } }, { "position": 7, "title": "Comparative Analysis of Quercetin and Taxifolin Interaction with Human Telomeric G-quadruplex DNA Hybrid form based on Molecular Dynamic Simulations", "result_id": "qflr8SPZTYYJ", "link": "http://test.journals.sci.am/index.php/sci-armenian-biology/article/view/1516", "snippet": "… ACPYPE (AnteChamber PYthon Parser interfacE) is a python script within the ANTECHAMBER software that generates small molecule topologies and parameters … da Silva AWS, Vranken WF ACPYPE-Antechamber python parser interface. BMC research notes, 5, 1, 367, 2012. …", "publication_info": { "summary": "GV CHILINGARYAN - Հայաստանի կենսաբանական հանդես, 2018 - test.journals.sci.am", "authors": [ { "name": "GV CHILINGARYAN", "link": "https://scholar.google.com/citations?user=z9ftzUgAAAAJ&hl=en&oi=sra", "serpapi_scholar_link": "https://serpapi.com/search.json?author_id=z9ftzUgAAAAJ&engine=google_scholar_author&hl=en", "author_id": "z9ftzUgAAAAJ" } ] }, "resources": [ { "title": "sci.am", "file_format": "PDF", "link": "http://test.journals.sci.am/index.php/sci-armenian-biology/article/download/1516/1268" } ], "inline_links": { "serpapi_cite_link": "https://serpapi.com/search.json?engine=google_scholar_cite&q=qflr8SPZTYYJ", "related_pages_link": "https://scholar.google.com/scholar?q=related:qflr8SPZTYYJ:scholar.google.com/&scioq=ACPYPE-Antechamber+python+parser+interface&hl=en&as_sdt=0,10", "cached_page_link": "http://scholar.googleusercontent.com/scholar?q=cache:qflr8SPZTYYJ:scholar.google.com/+ACPYPE-Antechamber+python+parser+interface&hl=en&as_sdt=0,10" } }, { "position": 8, "title": "MCPB. py: a python based metal center parameter builder", "result_id": "REznNj7J5CMJ", "link": "https://pubs.acs.org/doi/abs/10.1021/acs.jcim.5b00674", "snippet": "… It was built on the python metal site modeling toolbox (pyMSMT) in AmberTools15.() It uses a much more optimized workflow, offering a … It lowers the barrier for the molecular modeling of metal ion containing systems and offers a clean interface for nonexpert users interested …", "publication_info": { "summary": "P Li, KM Merz Jr - 2016 - ACS Publications", "authors": [ { "name": "P Li", "link": "https://scholar.google.com/citations?user=y3n-3a4AAAAJ&hl=en&oi=sra", "serpapi_scholar_link": "https://serpapi.com/search.json?author_id=y3n-3a4AAAAJ&engine=google_scholar_author&hl=en", "author_id": "y3n-3a4AAAAJ" }, { "name": "KM Merz Jr", "link": "https://scholar.google.com/citations?user=vhpR_AwAAAAJ&hl=en&oi=sra", "serpapi_scholar_link": "https://serpapi.com/search.json?author_id=vhpR_AwAAAAJ&engine=google_scholar_author&hl=en", "author_id": "vhpR_AwAAAAJ" } ] }, "inline_links": { "serpapi_cite_link": "https://serpapi.com/search.json?engine=google_scholar_cite&q=REznNj7J5CMJ", "cited_by": { "total": 257, "link": "https://scholar.google.com/scholar?cites=2586413355063790660&as_sdt=40005&sciodt=0,10&hl=en", "cites_id": "2586413355063790660", "serpapi_scholar_link": "https://serpapi.com/search.json?as_sdt=40005&cites=2586413355063790660&engine=google_scholar&hl=en" }, "related_pages_link": "https://scholar.google.com/scholar?q=related:REznNj7J5CMJ:scholar.google.com/&scioq=ACPYPE-Antechamber+python+parser+interface&hl=en&as_sdt=0,10", "versions": { "total": 3, "link": "https://scholar.google.com/scholar?cluster=2586413355063790660&hl=en&as_sdt=0,10", "cluster_id": "2586413355063790660", "serpapi_scholar_link": "https://serpapi.com/search.json?as_sdt=0%2C10&cluster=2586413355063790660&engine=google_scholar&hl=en" } } }, { "position": 9, "title": "The natural way forward: molecular dynamics simulation analysis of phytochemicals from Indian medicinal plants as potential inhibitors of SARS‐CoV‐2 targets", "result_id": "Kdp6mgR8DQcJ", "link": "https://onlinelibrary.wiley.com/doi/abs/10.1002/ptr.6868", "snippet": "The pandemic COVID‐19 has become a global panic‐forcing life towards a compromised “new normal.” Antiviral therapy against SARS‐CoV‐2 is still lacking. Thus, development of natural inhibitors as a prophylactic measure is an attractive strategy. In this context, this work …", "publication_info": { "summary": "PK Parida, D Paul, D Chakravorty - Phytotherapy Research, 2020 - Wiley Online Library", "authors": [ { "name": "PK Parida", "link": "https://scholar.google.com/citations?user=hAT-ah4AAAAJ&hl=en&oi=sra", "serpapi_scholar_link": "https://serpapi.com/search.json?author_id=hAT-ah4AAAAJ&engine=google_scholar_author&hl=en", "author_id": "hAT-ah4AAAAJ" }, { "name": "D Paul", "link": "https://scholar.google.com/citations?user=3Pl63-sAAAAJ&hl=en&oi=sra", "serpapi_scholar_link": "https://serpapi.com/search.json?author_id=3Pl63-sAAAAJ&engine=google_scholar_author&hl=en", "author_id": "3Pl63-sAAAAJ" }, { "name": "D Chakravorty", "link": "https://scholar.google.com/citations?user=BPN2Kx0AAAAJ&hl=en&oi=sra", "serpapi_scholar_link": "https://serpapi.com/search.json?author_id=BPN2Kx0AAAAJ&engine=google_scholar_author&hl=en", "author_id": "BPN2Kx0AAAAJ" } ] }, "resources": [ { "title": "nih.gov", "file_format": "HTML", "link": "https://www.ncbi.nlm.nih.gov/pmc/articles/pmc7537166/" } ], "inline_links": { "serpapi_cite_link": "https://serpapi.com/search.json?engine=google_scholar_cite&q=Kdp6mgR8DQcJ", "html_version": "https://www.ncbi.nlm.nih.gov/pmc/articles/pmc7537166/", "cited_by": { "total": 18, "link": "https://scholar.google.com/scholar?cites=508198692176189993&as_sdt=40005&sciodt=0,10&hl=en", "cites_id": "508198692176189993", "serpapi_scholar_link": "https://serpapi.com/search.json?as_sdt=40005&cites=508198692176189993&engine=google_scholar&hl=en" }, "related_pages_link": "https://scholar.google.com/scholar?q=related:Kdp6mgR8DQcJ:scholar.google.com/&scioq=ACPYPE-Antechamber+python+parser+interface&hl=en&as_sdt=0,10", "versions": { "total": 10, "link": "https://scholar.google.com/scholar?cluster=508198692176189993&hl=en&as_sdt=0,10", "cluster_id": "508198692176189993", "serpapi_scholar_link": "https://serpapi.com/search.json?as_sdt=0%2C10&cluster=508198692176189993&engine=google_scholar&hl=en" } } } ], "pagination": { "current": 1, "next": "https://scholar.google.com/scholar?start=10&q=ACPYPE-Antechamber+python+parser+interface&hl=en&as_sdt=0,10", "other_pages": { "2": "https://scholar.google.com/scholar?start=10&q=ACPYPE-Antechamber+python+parser+interface&hl=en&as_sdt=0,10", "3": "https://scholar.google.com/scholar?start=20&q=ACPYPE-Antechamber+python+parser+interface&hl=en&as_sdt=0,10", "4": "https://scholar.google.com/scholar?start=30&q=ACPYPE-Antechamber+python+parser+interface&hl=en&as_sdt=0,10", "5": "https://scholar.google.com/scholar?start=40&q=ACPYPE-Antechamber+python+parser+interface&hl=en&as_sdt=0,10", "6": "https://scholar.google.com/scholar?start=50&q=ACPYPE-Antechamber+python+parser+interface&hl=en&as_sdt=0,10", "7": "https://scholar.google.com/scholar?start=60&q=ACPYPE-Antechamber+python+parser+interface&hl=en&as_sdt=0,10", "8": "https://scholar.google.com/scholar?start=70&q=ACPYPE-Antechamber+python+parser+interface&hl=en&as_sdt=0,10", "9": "https://scholar.google.com/scholar?start=80&q=ACPYPE-Antechamber+python+parser+interface&hl=en&as_sdt=0,10", "10": "https://scholar.google.com/scholar?start=90&q=ACPYPE-Antechamber+python+parser+interface&hl=en&as_sdt=0,10" } }, "serpapi_pagination": { "current": 1, "next_link": "https://serpapi.com/search.json?as_sdt=0%2C10&engine=google_scholar&hl=en&q=ACPYPE-Antechamber+python+parser+interface&start=10", "next": "https://serpapi.com/search.json?as_sdt=0%2C10&engine=google_scholar&hl=en&q=ACPYPE-Antechamber+python+parser+interface&start=10", "other_pages": { "2": "https://serpapi.com/search.json?as_sdt=0%2C10&engine=google_scholar&hl=en&q=ACPYPE-Antechamber+python+parser+interface&start=10", "3": "https://serpapi.com/search.json?as_sdt=0%2C10&engine=google_scholar&hl=en&q=ACPYPE-Antechamber+python+parser+interface&start=20", "4": "https://serpapi.com/search.json?as_sdt=0%2C10&engine=google_scholar&hl=en&q=ACPYPE-Antechamber+python+parser+interface&start=30", "5": "https://serpapi.com/search.json?as_sdt=0%2C10&engine=google_scholar&hl=en&q=ACPYPE-Antechamber+python+parser+interface&start=40", "6": "https://serpapi.com/search.json?as_sdt=0%2C10&engine=google_scholar&hl=en&q=ACPYPE-Antechamber+python+parser+interface&start=50", "7": "https://serpapi.com/search.json?as_sdt=0%2C10&engine=google_scholar&hl=en&q=ACPYPE-Antechamber+python+parser+interface&start=60", "8": "https://serpapi.com/search.json?as_sdt=0%2C10&engine=google_scholar&hl=en&q=ACPYPE-Antechamber+python+parser+interface&start=70", "9": "https://serpapi.com/search.json?as_sdt=0%2C10&engine=google_scholar&hl=en&q=ACPYPE-Antechamber+python+parser+interface&start=80", "10": "https://serpapi.com/search.json?as_sdt=0%2C10&engine=google_scholar&hl=en&q=ACPYPE-Antechamber+python+parser+interface&start=90" } } } ```

But we only need "total_results": 1040,. So, if the endpoint could use the api above and have something to cache this value for a month or so (this could be another variable as well), as long as the interested user is registered with Serpapi and is providing his/her api key (which would be part of the url anyway), that seem to be possible.

The "easiest" thing I can think right now it to tweak https://shields.io/endpoint so it can take key total_results, so I could test it right away...

alanwilter commented 2 years ago

Please, can someone reopen this issue?

calebcartwright commented 2 years ago

Please, can someone reopen this issue?

Thanks for following up with additional detail, but no, I don't think it makes sense to reopen because fundamentally the calculus hasn't really changed.

For example, using the "free" tier (100 queries per month), I can get:

The reason being that this :point_up: is an exceptionally anemic limit that's far too low given the scale at which we operate.

The "easiest" thing I can think right now it to tweak https://shields.io/endpoint so it can take key total_results, so I could test it right away...

I'm not sure I'm correctly understanding what you're proposing here, but it sounds wrong to me. Custom endpoints are supposed to be self-contained, wherein any auth/info/etc. a custom endpoint needs to call some external API is contained within the custom endpoint itself.

If the 100 queries/month limit will work for your case, then I think your best bet probably is to create a Custom Endpoint. Alternatively, you could consider some approaches that use our underlying badge generation library, badge-maker, to generate/update the badge on some kind of recurring schedule and stash it somewhere it can be consumed as static content

alanwilter commented 2 years ago

Many thanks for your tips. In the end RunKit endpoint is the thing!

Citations

I got it to work!

https://runkit.com/awss/citations-acpype

100 queries may be low, but for citations... checking this once a month is pretty fine.

calebcartwright commented 2 years ago

Many thanks for your tips. In the end RunKit endpoint is the thing!

Citations

I got it to work!

https://runkit.com/****

100 queries may be low, but for citations... checking this once a month is pretty fine.

Glad to hear, thanks for sharing! Are you caching the response locally as part of your endpoint implementation? We do have caching on the badges we return, but we don't cache raw responses from data sources (endpoint or otherwise), so I could see 100 badge requests that miss cache resulting in our servers making 100 calls to your endpoint, and accordingly your endpoint 100 calls to their API (in the absence of caching).

alanwilter commented 2 years ago

I was thinking about putting a very big cache time, like a month in seconds (2,592,000), would it be ok?

Also, it's not clear if cacheSeconds is int or string.

alanwilter commented 2 years ago

This is just for future reference, here's my How to Create a Citation Badge Using Google Scholar

https://github.com/alanwilter/acpype/wiki/Citation-Badge

not-a-feature commented 1 year ago

Or you can use this service: https://juleskreuer.eu/projekte/citation-badge/

Citation Badge Citation Badge 2

For a markdown badge use: [![Citation Badge](https://api.juleskreuer.eu/citation-badge.php?doi=YOURDOI)](https://juleskreuer.eu/projekte/citation-badge/)

For a shield endpoint you can use: https://api.juleskreuer.eu/citation-badge.php?shield&doi=YOURDOI