3

Is it possible to use google scholar to search all the papers by a list of authors who has a particular label.

Example: all the papers by the authors with label:power_electronics

9
  • have you tried?
    – Solar Mike
    Commented May 23, 2018 at 11:13
  • @solarmike, of course I did-but no success. Searching articles with query “author:label:Power_electronics” didn’t give any results
    – Pojj
    Commented May 23, 2018 at 11:21
  • 2
    I suggest you talk to a university librarian. Commented May 24, 2018 at 2:03
  • 2
    I've used Google Scholar extensively, and I don't think you can carry out that type of search. The search options in Google Scholar's researcher profile service, and in the document search engine are different. The only option I can think of is that you extract the author IDs of authors that appear when you make the "label:power_electronics" search, and then use some software to extract the document lists from each profile, such as in the following example: twitter.com/Protohedgehog/status/999023873235537920
    – alberto
    Commented May 27, 2018 at 12:51
  • 1
    label:power_electronics will only work to find authors with a Google Scholar profile, not in the document search engine. What I suggested was that you extract the IDs from each of the authors returned by the query, and then use those R functions (or some similar ones), to extract the document list of each of those authors
    – alberto
    Commented May 28, 2018 at 15:39

1 Answer 1

2

If want to see papers by the authors you know, you can do it like so: "<keyword>" + <author> + <author> ...

gif_1


Search query example Explanation
"<keyword>" double-quotes to get an exact match
"<keyword>" + "<keyword>" + "..." filter papers by a multiple keywords
"<keyword>" + "<keyword>" + "<author>" filter papers by a multiple keywords and author

All of these examples seem to be working with specific date ranges and note that with every next page, results will be more irrelevant which you already wrote in the comments above.


Also, you can achieve it programmatically using Python and Google Scholar Organic Results API from SerpApi that can help you to parse data from all available pages.

It's a paid API with a free plan that handles all the hard lifting so the end-user only needs to think about what type of data to get.

Code and example in the online IDE:

import os, json
from serpapi import GoogleSearch
from urllib.parse import urlsplit, parse_qsl

params = {
    # os.getenv(): https://docs.python.org/3/library/os.html#os.getenv
    "api_key": os.getenv("API_KEY"),  # Your SerpApi API key
    "engine": "google_scholar",   
    "q": '"minecraft learning"',      # search query
    "hl": "en",                       # language
    # "as_ylo": "2017",               # from 2017
    # "as_yhi": "2021",               # to 2021
    "start": "0"                      # first page
    }

search = GoogleSearch(params)

organic_results_data = []

loop_is_true = True
while loop_is_true:
    results = search.get_dict()

    print(f"Currently extracting page №{results.get('serpapi_pagination', {}).get('current')}..")

    for result in results["organic_results"]:
        position = result["position"]
        title = result["title"]
        publication_info_summary = result["publication_info"]["summary"]
        result_id = result["result_id"]
        link = result.get("link")
        result_type = result.get("type")
        snippet = result.get("snippet")

        organic_results_data.append({
            "page_number": results.get("serpapi_pagination", {}).get("current"),
            "position": position + 1,
            "result_type": result_type,
            "title": title,
            "link": link,
            "result_id": result_id,
            "publication_info_summary": publication_info_summary,
            "snippet": snippet,
            })

        if "next" in results.get("serpapi_pagination", {}):
            search.params_dict.update(dict(parse_qsl(urlsplit(results["serpapi_pagination"]["next"]).query)))
        else:
            loop_is_true = False

print(json.dumps(organic_results_data, indent=2, ensure_ascii=False))

Part of the output:

[
  {
    "page_number": 1,
    "position": 1,
    "result_type": null,
    "title": "A deep hierarchical approach to lifelong learning in minecraft",
    "link": "https://ojs.aaai.org/index.php/AAAI/article/view/10744",
    "result_id": "a_Er9i3hDtUJ",
    "publication_info_summary": "C Tessler, S Givony, T Zahavy, D Mankowitz… - Proceedings of the …, 2017 - ojs.aaai.org",
    "snippet": "We propose a lifelong learning system that has the ability to reuse and transfer knowledge from one task to another while efficiently retaining the previously learned knowledge-base. …"
  }, ... other results
  {
    "page_number": 8,
    "position": 1,
    "result_type": "Pdf",
    "title": "A EFICIÊNCIA DA COMUNICAÇÃO RADIOFÔNICA PELA ORIENTAÇÃO DA FONOAUDIOLOGIA. 30",
    "link": "https://www.academia.edu/download/56944676/_ARTES__AMBIENTES_MIDIATICOS__EDUCACAO_E_PLATAFORMAS.pdf#page=77",
    "result_id": "kBAYMW4EwNQJ",
    "publication_info_summary": "TG da SILVA - ARTES, AMBIENTES MIDIÁTICOS, EDUCAÇÃO E … - academia.edu",
    "snippet": "Por meio dos conhecimentos e das devidas habilidades proporcionadas pela fonoaudiologia é possível identificar quais devem ser as performances vocais mais adequadas para …"
  }
]

Disclaimer, I work for SerpApi.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .