nagooglesearch
v8.0
ไม่ใช่ไลบรารีการค้นหาของ Google อื่น แค่ล้อเล่น - มันคือ
ทำเพื่อวัตถุประสงค์ทางการศึกษา ฉันหวังว่ามันจะช่วยได้!
แผนการในอนาคต:
pip3 install nagooglesearch
pip3 install --upgrade nagooglesearchเรียกใช้คำสั่งต่อไปนี้:
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.whlค่าเริ่มต้น:
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
) เฉพาะโดเมนที่ไม่มีคำหลัก google และไม่สิ้นสุดด้วยคำหลัก goo.gl เท่านั้นที่ได้รับการยอมรับว่าเป็นผลลัพธ์ที่ถูกต้อง ผลลัพธ์สุดท้ายคือรายการ URL ที่ไม่ซ้ำกันและเรียงลำดับ
ตัวอย่างมาตรฐาน:
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 หาก max_results ถูกตั้งค่าเป็นเช่น 200 และ num ถูกตั้งค่าเป็นเช่น 80 แล้ว URL ที่ไม่ซ้ำกันสูงสุดที่สามารถส่งคืนได้อาจถึง 240
ตรวจสอบรายการตัวแทนผู้ใช้ที่นี่ สำหรับตัวแทนผู้ใช้มากขึ้นตรวจสอบ scrapeops.io
ตัวอย่างสั้นที่สุดเท่าที่จะเป็นไปได้:
import nagooglesearch
urls = nagooglesearch . GoogleClient ( search_parameters = { "q" : "site:*.example.com intext:password" }). search ()
# do somethingตัวอย่างอย่าแสดงผลลัพธ์ที่เก่ากว่า 6 เดือน:
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 somethingตัวอย่างรับตัวแทนผู้ใช้ทั้งหมด:
import nagooglesearch
user_agents = nagooglesearch . get_all_user_agents ()
print ( user_agents )
# do somethingตัวอย่างรับตัวแทนผู้ใช้แบบสุ่ม:
import nagooglesearch
user_agent = nagooglesearch . get_random_user_agent ()
print ( user_agent )
# do something