Pas une autre bibliothèque de recherche Google. Je plaisante - ça l'est.
Fait à des fins éducatives. J'espère que cela aidera!
Plans futurs:
pip3 install nagooglesearch
pip3 install --upgrade nagooglesearchExécutez les commandes suivantes:
git clone https://github.com/ivan-sincek/nagooglesearch && cd nagooglesearch
python3 -m pip install --upgrade build
python3 -m build
python3 -m pip install dist/nagooglesearch-8.0-py3-none-any.whlValeurs par défaut:
nagooglesearch . GoogleClient (
tld = "com" ,
homepage_parameters = {
"btnK" : "Google+Search" ,
"source" : "hp"
},
search_parameters = {
},
user_agent = "" ,
proxy = "" ,
max_results = 100 ,
min_sleep = 8 ,
max_sleep = 18 ,
debug = False
) Seuls les domaines sans leur mot-clé google et ne se terminant pas par le mot clé goo.gl sont acceptés comme des résultats valides. La sortie finale est une liste unique et triée des URL.
Exemple, standard:
import nagooglesearch
# the following query string parameters are set only if 'start' query string parameter is not set or is equal to zero
# simulate a homepage search
homepage_parameters = {
"btnK" : "Google+Search" ,
"source" : "hp"
}
# search the internet for additional query string parameters
search_parameters = {
"q" : "site:*.example.com intext:password" , # search query
"tbs" : "li:1" , # specify 'li:1' for verbatim search (no alternate spellings, etc.)
"hl" : "en" ,
"lr" : "lang_en" ,
"cr" : "countryUS" ,
"filter" : "0" , # specify '0' to display hidden results
"safe" : "images" , # specify 'images' to turn off safe search, or specify 'active' to turn on safe search
"num" : "80" # number of results per page
}
client = nagooglesearch . GoogleClient (
tld = "com" , # top level domain, e.g., www.google.com or www.google.hr
homepage_parameters = homepage_parameters , # 'search_parameters' will override 'homepage_parameters'
search_parameters = search_parameters ,
user_agent = "curl/3.30.1" , # a random user agent will be set if none is provided
proxy = "socks5://127.0.0.1:9050" , # one of the supported URL schemes are 'http[s]', 'socks4[h]', and 'socks5[h]'
max_results = 200 , # maximum unique URLs to return
min_sleep = 15 , # minimum sleep between page requests
max_sleep = 30 , # maximum sleep between page requests
debug = True # enable debug output
)
urls = client . search ()
if client . get_error () == "REQUESTS_EXCEPTION" :
print ( "[ Requests Exception ]" )
# do something
elif client . get_error () == "429_TOO_MANY_REQUESTS" :
print ( "[ HTTP 429 Too Many Requests ]" )
# do something
for url in urls :
print ( url )
# do something Si max_results est réglé sur, par exemple, 200 et num est défini sur, par exemple, 80 , alors, des URL uniques maximales qui pourraient être retournées pourraient réellement atteindre 240 .
Consultez la liste des agents utilisateur ici. Pour plus d'agents utilisateur, vérifiez les scrapeops.io.
Exemple, le plus court possible:
import nagooglesearch
urls = nagooglesearch . GoogleClient ( search_parameters = { "q" : "site:*.example.com intext:password" }). search ()
# do somethingExemple, ne montrez pas de résultats plus de 6 mois:
import nagooglesearch , dateutil . relativedelta as relativedelta
def get_tbs ( months ):
today = datetime . datetime . today ()
return nagooglesearch . get_tbs ( today , today - relativedelta . relativedelta ( months = months ))
search_parameters = {
"tbs" : get_tbs ( 6 )
}
# do somethingExemple, obtenez tous les agents des utilisateurs:
import nagooglesearch
user_agents = nagooglesearch . get_all_user_agents ()
print ( user_agents )
# do somethingExemple, obtenez un agent utilisateur aléatoire:
import nagooglesearch
user_agent = nagooglesearch . get_random_user_agent ()
print ( user_agent )
# do something