Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import requests
- from bs4 import BeautifulSoup
- import time
- import sys
- import datetime
- import os
- from random import randint
- BASE_URL = "http://fubar.com"
- USERNAME = "tmp@tmp.com"
- PASSWORD = "123123"
- VOTE = 0
- GROUP = 1
- UID = 2
- GUID = 3
- LOC = 4
- rates = 0
- s = requests.Session()
- s.get(BASE_URL + "/login.php?dest=home.php")
- def print_ts(str):
- ts = datetime.datetime.fromtimestamp(time.time()).strftime('%Y-%m-%d %H:%M:%S')
- print(ts + " - " + str)
- def parse_js_button(js):
- js_list = js[28:-2].split(',')
- return js_list
- def parse_js_vote(js_list):
- ret = {"vote" : int(js_list[VOTE]), "uid" : int(js_list[UID]), "guid" : int(js_list[GUID][1:-1]), "group" : int(js_list[GROUP]), "spoof" : 1, "loc" : js_list[LOC]}
- print_ts ("Preparing statement : " + str(ret))
- return ret
- def parse_js_rate(js_list, rating):
- ret = {"owner" : int(js_list[UID]), "rating" : rating}
- print_ts ("Preparing statement : " + str(ret))
- return ret
- params = {"dest" : "/home.php", "_user" : USERNAME, "_pw" : PASSWORD, "remember_me" : "on"}
- ret = s.post(BASE_URL + "/login.php", data=params)
- print_ts("Logged in with status code: " + str(ret.status_code))
- idx = 0
- while True:
- try:
- print_ts("idx: " + str(idx))
- res = s.get(BASE_URL + "/whosonline.php?idx=" + str(idx))
- soup = BeautifulSoup(res.content, "html.parser")
- users = soup.findAll('div', attrs={"class" : "user_tn_tiny_5"})
- links = []
- for user in users:
- link = user.find('a')
- links.append(link['href'])
- print_ts("Links: " + str(links))
- if (len(links) == 0):
- print("No new links, check your account. Terminating...")
- os._exit(-1)
- idx += len(links)
- print_ts("Got " + str(len(links)) + " links")
- for link in links:
- print_ts("User: " + link)
- profile = s.get(BASE_URL + link)
- profile_bs = BeautifulSoup(profile.content, "html.parser")
- like_button = profile_bs.find('a', attrs={'class' : 'profile_like'})
- if (like_button == None):
- print_ts("Already liked")
- print_ts("Sleeping for 3 secs")
- time.sleep(3)
- else:
- js_list = parse_js_button(like_button['onclick'])
- params = parse_js_vote(js_list)
- ret = s.post(BASE_URL + "/a_vote.php", data=params)
- print_ts("Sent a POST like request, returned: " + str(ret.status_code))
- params = parse_js_rate(js_list, randint(7, 11))
- ret = s.post(BASE_URL + "/a_rate_user.php", data=params)
- print_ts("Sent a POST rate request, returned: " + str(ret.status_code))
- print_ts("Sleeping for 5 secs")
- time.sleep(5)
- print_ts("Completed a batch, sleeping for 30 secs")
- time.sleep(30)
- except KeyboardInterrupt:
- sys.exit()
- except requests.exceptions.RequestException as e: # This is the correct syntax
- print(e)
- except:
- print_ts("Caught an exception!")
- continue
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement