2018-12-30 10:29:25 +08:00
|
|
|
import random
|
|
|
|
|
2019-01-11 11:56:49 +08:00
|
|
|
|
2019-01-14 07:58:38 +08:00
|
|
|
googleUA = 'Mozilla/5.0 (Windows NT 6.2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1464.0 Safari/537.36'
|
2018-12-30 10:29:25 +08:00
|
|
|
|
|
|
|
|
|
|
|
def filter(lst):
|
|
|
|
"""
|
|
|
|
Method that filters list
|
|
|
|
:param lst: list to be filtered
|
|
|
|
:return: new filtered list
|
|
|
|
"""
|
2019-01-11 10:09:47 +08:00
|
|
|
lst = set(lst) # Remove duplicates.
|
2018-12-30 10:29:25 +08:00
|
|
|
new_lst = []
|
|
|
|
for item in lst:
|
2019-01-02 10:38:59 +08:00
|
|
|
item = str(item)
|
2018-12-30 10:29:25 +08:00
|
|
|
if (item[0].isalpha() or item[0].isdigit()) and ('xxx' not in item) and ('..' not in item):
|
2019-01-01 01:16:09 +08:00
|
|
|
if '252f' in item:
|
|
|
|
item = item.replace('252f', '')
|
2019-01-02 10:38:59 +08:00
|
|
|
if '2F' in item:
|
|
|
|
item = item.replace('2F', '')
|
|
|
|
if '2f' in item:
|
|
|
|
item = item.replace('2f', '')
|
2019-01-01 01:16:09 +08:00
|
|
|
new_lst.append(item.lower())
|
2018-12-30 10:29:25 +08:00
|
|
|
return new_lst
|
|
|
|
|
|
|
|
|
|
|
|
def getDelay():
|
|
|
|
return random.randint(1, 3) - .5
|
|
|
|
|
|
|
|
|
|
|
|
def search(text):
|
2019-01-11 10:09:47 +08:00
|
|
|
# Helper function to check if Google has blocked traffic.
|
2018-12-30 10:29:25 +08:00
|
|
|
for line in text.strip().splitlines():
|
|
|
|
if 'This page appears when Google automatically detects requests coming from your computer network' in line:
|
|
|
|
print('\tGoogle is blocking your IP due to too many automated requests, wait or change your IP')
|
|
|
|
return True
|
|
|
|
return False
|
|
|
|
|
|
|
|
|
|
|
|
class MissingKey(Exception):
|
|
|
|
|
|
|
|
def __init__(self, identity_flag):
|
2019-01-11 11:56:49 +08:00
|
|
|
if identity_flag:
|
2019-01-14 07:58:38 +08:00
|
|
|
self.message = '\n\033[93m[!] Missing API key. \033[0m'
|
2018-12-30 10:29:25 +08:00
|
|
|
else:
|
2019-01-14 07:58:38 +08:00
|
|
|
self.message = '\n\033[93m[!] Missing CSE id. \033[0m'
|
2018-12-30 10:29:25 +08:00
|
|
|
|
|
|
|
def __str__(self):
|
2019-01-01 01:16:09 +08:00
|
|
|
return self.message
|