GoogleSearchResults 1.1.0

There is a newer version of this package available.
See the version list below for details.
dotnet tool install --global GoogleSearchResults --version 1.1.0                
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest # if you are setting up this repo
dotnet tool install --local GoogleSearchResults --version 1.1.0                
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=GoogleSearchResults&version=1.1.0                
nuke :add-package GoogleSearchResults --version 1.1.0                

Google Search Results Scraper

Scraps google search results without api key. Only Google supported in this version: V1.1.0 <br> With the specific settings you can get Backlinks too.

Installation

dotnet tool install --global GoogleSearchResults --version 1.0.0

Usage

GoogleSearchResult class contains target website URL and title.

using GoogleSearchResults;
using GoogleSearchResults.Google;
public async Task Main(string[] args)
{
    List<GoogleSearchResult> searchResults = new List<GoogleSearchResult>();
    var search = new GoogleSearch();
    searchResults = await search.GetSearchResults("query",20,4,null,SearchOptions.Backlink, FocusedWebsites.Xenforo);
    foreach(var item in searchResults){
            Console.WriteLine("Url:" + item.Url + "Title:" + item.Title);
    }
    Console.ReadKey();
}

To use proxy: Use ProxyOptions class to specify your proxy and credentials.

var proxyOptions = new ProxyOptions() { 
    UseProxy = true,
    IP = "IP",
    Port = "PORT",
    Username = "username",
    Password = "password",
};
    // and use it in method.
await GetSearchResults(string Query, int maximumCount, int pageCount, proxyOptions, SearchOptions searchOptions = SearchOptions.Normal, FocusedWebsites websites = FocusedWebsites.Any);

GetSearchResults() Method. Specify proxy null if you dont want to use.

public async Task GetSearchResults(string Query, int maximumCount, int pageCount, ProxyOptions proxy = null, SearchOptions searchOptions = SearchOptions.Normal, FocusedWebsites websites = FocusedWebsites.Any)

SearchOptions

Normal : Gets all results pointed to specifed query,
Forum : Returns forum websites with query word you provided,
Backlink : It points to related web sites & forums to scrap results,
INTEXT : Google will return pages that contain the query word you provided,
INURL : Google will only show you pages that have that term in the URL,
DEFINE : Google will return definitions for the term from different sites,
RELATED : Google will return related websites

FocusedWebsites

Any,
Reddit,
Xenforo,
vBulletin,
FluxBB,
SMF

TODO

ADD Other search engines (Yandex, DuckDuckGo)
Multiple search with proxies
Product Compatible and additional computed target framework versions.
.NET net7.0 is compatible.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last updated
1.3.0 167 2/11/2024
1.2.1 136 1/23/2024
1.2.0 106 1/23/2024
1.1.0 184 1/20/2024
1.0.0 158 1/18/2024