Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import urllib
- import urllib2
- import cookielib
- import datetime
- import base64
- import os
- import re
- username = ''
- password = base64.decodestring('')
- class NotLoggedInError(Exception):
- pass
- class FileUploadLogin(object):
- base_url = 'http://www.file-upload.net'
- login_url = base_url + '/login.php'
- member_url = base_url + '/member.php'
- info_regex = re.compile(r'<td.+><a href=\"(?P<download_link>.+)\".+>(?P<upload_date>\d+\.\d+\.\d+ \d+\:\d+\:\d+)<.+>(?P<file_size>\d+\.\d+) MB<.+>(?P<downloaded>\d+)<')
- def __init__(self, username, userpassword):
- self.username = username
- self.userpassword = userpassword
- self.__logged_in = False
- def login(self):
- cookie = cookielib.CookieJar()
- self.opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookie))
- login_data = {'name': self.username, 'pw': self.userpassword}
- url_data = urllib.urlencode(login_data)
- self.opener.open(self.login_url, url_data)
- self.__logged_in = True
- def getFileInfos(self):
- if not self.__logged_in:
- raise NotLoggedInError('Unable to get File Infos: Not Logged In')
- resp = self.opener.open(self.member_url)
- resp_result = resp.read()
- return self.info_regex.findall(resp_result)
- def uploadFile(self, filename):
- if not self.__logged_in:
- raise NotLoggedInError('Unable to Upload File: Not Logged In')
- login = FileUploadLogin(username, password)
- login.login()
- fileinfos = login.getFileInfos()
- # url_request = urllib2.Request(login_url, url_data)
- # request_open = urllib2.urlopen(url_request)
- # request_result = request_open.read()
- directory = os.getcwd()
- # logfile_path = os.path.join(directory, 'result.html')
- info_path = os.path.join(directory, 'infos.txt')
- # logfile = open(logfile_path, 'wb')
- # logfile.write(resp_result)
- # logfile.close()
- infofile = open(info_path, 'wb')
- infofile.write('Anzahl gefundener Dateien: %s\n\n' % len(fileinfos))
- filename_regex = re.compile(r'\/download-(?P<download_id>\d+)\/(?P<file_name>.+)\.html')
- total_size = 0
- total_downloaded = 0
- for f in fileinfos:
- dl_link, upload_date, file_size, downloaded = f
- upload_date_dt = datetime.datetime.strptime(upload_date, '%d.%m.%y %H:%M:%S')
- file_size_float = float(file_size)
- downloaded_int = int(downloaded)
- total_downloaded += downloaded_int
- total_size += file_size_float
- fn = filename_regex.search(dl_link)
- infofile.write('Downloads gesamt: %i\n' % total_downloaded)
- infofile.write('Gesamtgröße aller Dateien: %.2f MB' % total_size)
- infofile.close()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement