· 4 years ago · Apr 16, 2021, 09:54 AM
1import requests
2from bs4 import BeautifulSoup
3from random import choice, randrange
4from time import sleep
5import sys
6EMAIL = ''
7PASSWORD = ''
8FILE = 'Words.txt' # Words to search, random pick
9SKETCHY_API = '' # SketchyLab API key
10MIN_DELAY = 100 # Delay between searches
11MAX_DELAY = 300
12r = requests.Session()
13token = ''
14user_agent = 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36'
15if SKETCHY_API:
16response = requests.get('https://sketchylabs.io/api/ua/desktop?key={}'.format(SKETCHY_API)).json()
17user_agent = response['data']['ua']
18r.headers.update({
19'User-Agent': user_agent
20})
21def wait():
22delay = randrange(MIN_DELAY, MAX_DELAY)
23for i in range(delay, 0, -1):
24sys.stdout.write("\r")
25sys.stdout.write("{:2d} seconds remaining.".format(i))
26sys.stdout.flush()
27sleep(1)
28def get_token():
29content = r.get("https://presearch.org/login").content
30soup = BeautifulSoup(content, 'html.parser')
31return soup.find("input", {"name": "_token"})["value"]
32def login():
33payload = {
34'_token': token,
35'login_form': '1',
36'email': EMAIL,
37'password': PASSWORD,
38'remember': '1'
39}
40response = r.post('https://presearch.org/api/auth/login', data=payload).json()
41if response['status'] == 'OK':
42print("Successfully logged in")
43def search():
44with open(FILE) as f:
45words = f.read().splitlines()
46for x in range(32):
47while True:
48word = choice(words)
49if len(word) > 6:
50break
51payload = {
52'term': word,
53'provider_id': '98',
54'_token': token
55}
56print('Search term: {}'.format(word))
57r.post('https://presearch.org/search', data=payload)
58wait()
59def get_balance():
60dashboard = r.get("https://www.presearch.org/")
61soup = BeautifulSoup(dashboard.content, 'html.parser')
62balance = soup.find("span", {"class": "number"})
63print("Balance: {} PRE".format(balance.text))
64token = get_token()
65login()
66get_balance()
67search()
68get_balance()