Google Scholar Source

Google Scholar manual browsing via DuckDuckGo site-restricted search.

This module intentionally avoids scraping Google Scholar directly. It leverages the ddgs (or legacy duckduckgo_search as a fallback) package to retrieve public result snippets limited to the Scholar domain.

class agent.browsing.manual.sources.google_scholar.GoogleScholarBrowser(*args, **kwargs)[source]

Bases: ManualSource

Manual source for Google Scholar using site-restricted web search.

Note: result metadata is limited to title, URL, and snippet.

iter_all(query, chunk_size=100, limit=None, *, region='wt-wt', **kwargs)[source]

Iterate through Scholar results by fetching in chunks.

Parameters:
  • query (str) – Free-text query string.

  • chunk_size (int) – Number of results fetched per request.

  • limit (Optional[int]) – Optional maximum number of items to yield.

  • region (str) – Region code for DuckDuckGo.

  • kwargs (object)

Return type:

Iterator[SearchItem]

Returns:

Iterator over normalized search items.

search(query, max_results=25, start=0, *, region='wt-wt', **kwargs)[source]

Search Scholar results using DuckDuckGo site restriction.

Parameters:
  • query (str) – Free-text query string.

  • max_results (int) – Maximum number of results to return.

  • start (int) – Zero-based start index; applied client-side.

  • region (str) – Region code for DuckDuckGo.

  • kwargs (object)

Return type:

List[SearchItem]

Returns:

List of normalized search items.

search_all(query, chunk_size=100, limit=None, *, region='wt-wt', **kwargs)[source]

Collect Scholar results for a query into a list.

Parameters:
  • query (str) – Free-text query string.

  • chunk_size (int) – Number of results fetched per request.

  • limit (Optional[int]) – Optional maximum number of items to collect.

  • region (str) – Region code for DuckDuckGo.

  • kwargs (object)

Return type:

List[SearchItem]

Returns:

List of normalized search items.