1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
def search_dork(dork, proxies, user_agents, verbose, max_retries=3, backoff_factor=1.0):
print(colored(f"Searching for dork: {dork}", "yellow"))
def try_search_dork(dork, proxy, user_agent):
try:
results = google_search(dork, user_agent, proxy)
return results
except requests.exceptions.RequestException as e:
if verbose:
print(colored(f"Error with proxy {proxy}: {e}, rotating proxy...", "magenta"))
return None
retries = 0
while retries <= max_retries:
proxy = random.choice(proxies)
user_agent = random.choice(user_agents)
results = try_search_dork(dork, proxy, user_agent)
if results is not None:
if results:
with open(f"results/{dork}_results.txt", "w") as f:
f.write("\n".join(results[:20]))
print(colored(f"Saved top 20 results for dork '{dork}'", "green"))
else:
print(colored(f"No results found for dork '{dork}'", "red"))
break
retries += 1
time.sleep(backoff_factor * (2 ** (retries - 1)) + random.uniform(1, 5))
|