Results 1 to 2 of 2

Thread: [Python - Tkinter GUI] ~ avatar grabber

Threaded View

  1. #1
    Water's Avatar
    Joined
    Nov 2012
    Posts
    792
    Userbars
    12
    Thanks
    474
    Thanked
    452/210
    DL/UL
    158/9
    Mentioned
    217 times
    Time Online
    54d 9h 37m
    Avg. Time Online
    18m

    [Python - Tkinter GUI] ~ avatar grabber

    credit @(you need an account to see links) for NeoAccount.py

    Python with functional GUI, will work on all operating systems.
    Save the file as XXXX.py
    Download (you need an account to see links). * - only for certain operating systems(Mac, Linux?"
    Drag the file onto the Kivy app and it will open as the GUI.

    Code:
    import sys
    import Tkinter
    import tkMessageBox
    from Tkinter import *
    import urllib2, urllib, cookielib
    import StringIO, gzip
    
    window = Tkinter.Tk()
    window.title("clraik Python Daily Doer")
    window.geometry('245x85')
    
    class NeoAccount:
    
        d = 'http://www.neopets.com'
        headers = [('User-Agent', 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:15.0) Gecko/20100101 Firefox/15.0.1'),
                    ('Accept', 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8'),
                    ('Accept-Language', 'en-us,en;q=0.5'),
                    ('Accept-Encoding', 'gzip, deflate')]
        
        def __init__(self, user, pw, proxy = None):
            self.user = user
            self.pw = pw
            self.proxy = proxy
            self.referer = ''
            
            cj = cookielib.LWPCookieJar()
            cookie_handler = urllib2.HTTPCookieProcessor(cj)
            
            if proxy != None:
                proxy_handler = urllib2.ProxyHandler({'http': 'http://' + proxy + '/'})
                self.opener = urllib2.build_opener(proxy_handler, cookie_handler)
            else:
                self.opener = urllib2.build_opener(cookie_handler)
    
        def __str__(self):
            return '%s:%s' % (self.user, self.pw)
    
        def get(self, url, referer = '', readable = True):
            if url[0] == '/':
                url = self.d + url
            if referer == '':
                referer = self.referer
            self.opener.addheaders = [('Referer', referer)]  + self.headers
            res = self.opener.open(url)
            self.referer = res.geturl()
            if readable:
                return self.readable(res)
            else:
                return res
    
        def post(self, url, data, referer = '', readable = True):
            if url[0] == '/':
                url = self.d + url
            if referer == '':
                referer = self.referer
            self.opener.addheaders = [('Content-Type', 'application/x-www-form-urlencoded'),
                                      ('Referer', referer)] + self.headers
            res = self.opener.open(url, urllib.urlencode(data))
            self.referer = res.geturl()
            if readable:
                return self.readable(res)
            else:
                return res
    
        def amf(self, packet, gateway = 'http://services.neopets.com/amfphp/gateway.php', referer = ''):
            if referer == '':
                referer = self.referer
            self.opener.addheaders = [('Content-Type', 'application/x-amf'),
                                      ('Referer', referer)] + self.headers
            res = self.opener.open(gateway, packet)
            return res.read()
    
        def login(self):
            res = self.get('/index.phtml')
            res = self.post('/login.phtml', {'username': self.user,
                                             'password': self.pw,
                                             'destination': "/index.phtml"}, readable = False)
            if 'badpassword' in res.geturl():
                return False, 'Bad password'
            elif 'hello' in res.geturl():
                return False, 'Birthday locked'
            elif 'login' in res.geturl():
                return False, 'Frozen'
            elif 'index' in res.geturl():
                return True, 'Logged in'
    
        def readable(self, data):
            if 'gzip' in str(data.info()):
                return gzip.GzipFile(fileobj=StringIO.StringIO(data.read())).read()
            else:
                return data.read()
    
    #neologin
    label3 = Label(window, text="neopets username:").grid(row=0,column=0)
    un = Entry(window, bd=5)
    un.grid(row=0,column=1)
    label4 = Label(window, text="neopets password:").grid(row=1,column=0)
    pw = Entry(window, bd=5, show="*")
    pw.grid(row=1,column=1)
    
    def getAvatars():
        uns = un.get()
        pws = pw.get()
        acc = NeoAccount(uns, pws)
        result = acc.login()
        html = acc.get("http://www.neopets.com/petlookup.phtml?pet=6Candy93", "http://www.neopets.com/petlookup.phtml?pet=6Candy93")
        html = acc.get("http://www.neopets.com/petlookup.phtml?pet=Jotunheimr", "http://www.neopets.com/petlookup.phtml?pet=Jotunheimr")
        html = acc.get("http://www.neopets.com/petlookup.phtml?pet=Meziers", "http://www.neopets.com/petlookup.phtml?pet=Meziers")
        html = acc.get("http://www.neopets.com/petlookup.phtml?pet=Kulaboo", "http://www.neopets.com/petlookup.phtml?pet=Kulaboo")
        html = acc.get("http://www.neopets.com/petlookup.phtml?pet=kirus_", "http://www.neopets.com/petlookup.phtml?pet=kirus_")
        html = acc.get("http://www.neopets.com/petlookup.phtml?pet=ixi_329", "http://www.neopets.com/petlookup.phtml?pet=ixi_329")
        html = acc.get("http://www.neopets.com/objects.phtml?type=shop&obj_type=78", "http://www.neopets.com/objects.phtml?type=shop&obj_type=78")
        html = acc.get("http://www.neopets.com/petlookup.phtml?pet=santasmuffin", "http://www.neopets.com/petlookup.phtml?pet=santasmuffin")
        html = acc.get("http://www.neopets.com/petlookup.phtml?pet=Jesperus", "http://www.neopets.com/petlookup.phtml?pet=Jesperus")
        html = acc.get("http://www.neopets.com/altador/hallofheroes.phtml?janitor=1", "http://www.neopets.com/altador/hallofheroes.phtml?janitor=1")
        html = acc.get("http://www.neopets.com/petlookup.phtml?pet=SSSnake389", "http://www.neopets.com/petlookup.phtml?pet=SSSnake389")
        html = acc.get("http://www.neopets.com/altador/hallofheroes.phtml?view_statue_id=12", "http://www.neopets.com/altador/hallofheroes.phtml?view_statue_id=12")
        html = acc.get("http://www.neopets.com/petlookup.phtml?pet=Coast", "http://www.neopets.com/petlookup.phtml?pet=Coast")
        html = acc.get("http://www.neopets.com/petlookup.phtml?pet=88extinct88", "http://www.neopets.com/petlookup.phtml?pet=88extinct88")
        html = acc.get("http://www.neopets.com/petlookup.phtml?pet=ebil_wire_monkey", "http://www.neopets.com/petlookup.phtml?pet=ebil_wire_monkey")
        html = acc.get("http://www.neopets.com/petlookup.phtml?pet=bats850jr", "http://www.neopets.com/petlookup.phtml?pet=bats850jr")
        html = acc.get("http://www.neopets.com/petlookup.phtml?pet=Teratorn", "http://www.neopets.com/petlookup.phtml?pet=Teratorn")
        html = acc.get("http://www.neopets.com/petlookup.phtml?pet=Bastet1570", "http://www.neopets.com/petlookup.phtml?pet=Bastet1570")
        html = acc.get("http://www.neopets.com/petlookup.phtml?pet=losta_potatoes", "http://www.neopets.com/petlookup.phtml?pet=losta_potatoes")
        html = acc.get("http://www.neopets.com/petlookup.phtml?pet=Claudaisha", "http://www.neopets.com/petlookup.phtml?pet=Claudaisha")
        html = acc.get("http://www.neopets.com/petlookup.phtml?pet=__ShadowFury__", "http://www.neopets.com/petlookup.phtml?pet=__ShadowFury__")
        html = acc.get("http://www.neopets.com/petlookup.phtml?pet=Klarvus", "http://www.neopets.com/petlookup.phtml?pet=Klarvus")
        html = acc.get("http://www.neopets.com/petlookup.phtml?pet=alexim", "http://www.neopets.com/petlookup.phtml?pet=alexim")
        html = acc.get("http://www.neopets.com/petlookup.phtml?pet=sparkey1860", "http://www.neopets.com/petlookup.phtml?pet=sparkey1860")
        html = acc.get("http://www.neopets.com/petlookup.phtml?pet=Carnic", "http://www.neopets.com/petlookup.phtml?pet=Carnic")
        html = acc.get("http://www.neopets.com/petlookup.phtml?pet=lunalindy", "http://www.neopets.com/petlookup.phtml?pet=lunalindy")
        html = acc.get("http://www.neopets.com/petlookup.phtml?pet=Alabrisha", "http://www.neopets.com/petlookup.phtml?pet=Alabrisha")
        html = acc.get("http://www.neopets.com/petlookup.phtml?pet=LittleAriadne", "http://www.neopets.com/petlookup.phtml?pet=LittleAriadne")
        html = acc.get("http://www.neopets.com/petlookup.phtml?pet=_Jetty_Sammy_", "http://www.neopets.com/petlookup.phtml?pet=_Jetty_Sammy_")
        html = acc.get("http://www.neopets.com/search.phtml?selected_type=object&string=Galem+Darkhand", "http://www.neopets.com/search.phtml?selected_type=object&string=Galem+Darkhand")
        html = acc.get("http://www.neopets.com/petlookup.phtml?pet=Cirrus", "http://www.neopets.com/petlookup.phtml?pet=Cirrus")
        html = acc.get("http://www.neopets.com/petlookup.phtml?pet=friskitorius", "http://www.neopets.com/petlookup.phtml?pet=friskitorius")
        html = acc.get("http://www.neopets.com/petlookup.phtml?pet=Meerca", "http://www.neopets.com/petlookup.phtml?pet=Meerca")
        html = acc.get("http://www.neopets.com/petlookup.phtml?pet=37_coco_37", "http://www.neopets.com/petlookup.phtml?pet=37_coco_37")
        html = acc.get("http://www.neopets.com/petlookup.phtml?pet=Sea_Queen_of_loveing", "http://www.neopets.com/petlookup.phtml?pet=Sea_Queen_of_loveing")
        html = acc.get("http://www.neopets.com/halloween/costumes.phtml", "http://www.neopets.com/halloween/costumes.phtml")
        html = acc.get("http://www.neopets.com/petlookup.phtml?pet=matt_bellamy_", "http://www.neopets.com/petlookup.phtml?pet=matt_bellamy_")
        html = acc.get("http://www.neopets.com/petlookup.phtml?pet=Trestian", "http://www.neopets.com/petlookup.phtml?pet=Trestian")
        html = acc.get("http://www.neopets.com/petlookup.phtml?pet=Kauarva", "http://www.neopets.com/petlookup.phtml?pet=Kauarva")
        html = acc.get("http://www.neopets.com/petlookup.phtml?pet=Celicer", "http://www.neopets.com/petlookup.phtml?pet=Celicer")
        html = acc.get("http://www.neopets.com/browseshop.phtml?owner=Cosmic145236987", "http://www.neopets.com/browseshop.phtml?owner=Cosmic145236987")
        html = acc.get("http://www.neopets.com/petlookup.phtml?pet=yomikoza", "http://www.neopets.com/petlookup.phtml?pet=yomikoza")
        html = acc.get("http://www.neopets.com/petlookup.phtml?pet=spunWAyout2", "http://www.neopets.com/petlookup.phtml?pet=spunWAyout2")
        html = acc.get("http://www.neopets.com/petlookup.phtml?pet=Xyioz_Athos", "http://www.neopets.com/petlookup.phtml?pet=Xyioz_Athos")
        html = acc.get("http://www.neopets.com/petlookup.phtml?pet=sadies181", "http://www.neopets.com/petlookup.phtml?pet=sadies181")
        html = acc.get("http://www.neopets.com/petlookup.phtml?pet=Zac_123__96", "http://www.neopets.com/petlookup.phtml?pet=Zac_123__96")
        html = acc.get("http://www.neopets.com/petlookup.phtml?pet=LoveyDarlinOfMia", "http://www.neopets.com/petlookup.phtml?pet=LoveyDarlinOfMia")
        html = acc.get("http://www.neopets.com/petlookup.phtml?pet=Aaeliya", "http://www.neopets.com/petlookup.phtml?pet=Aaeliya")
        html = acc.get("http://www.neopets.com/art/misc/scarblade2.phtml", "http://www.neopets.com/art/misc/scarblade2.phtml")
        html = acc.get("http://www.neopets.com/water/plot_com.phtml?chapter=5", "http://www.neopets.com/water/plot_com.phtml?chapter=5")
        html = acc.get("http://www.neopets.com/petlookup.phtml?pet=Barthalamew_Max", "http://www.neopets.com/petlookup.phtml?pet=Barthalamew_Max")
        html = acc.get("http://www.neopets.com/petlookup.phtml?pet=Quiggler4268", "http://www.neopets.com/petlookup.phtml?pet=Quiggler4268")
        html = acc.get("http://www.neopets.com/petlookup.phtml?pet=WolfChild_Spirit", "http://www.neopets.com/petlookup.phtml?pet=WolfChild_Spirit")
        html = acc.get("http://www.neopets.com/petlookup.phtml?pet=Emaden", "http://www.neopets.com/petlookup.phtml?pet=Emaden")
        html = acc.get("http://www.neopets.com/petlookup.phtml?pet=Josholox", "http://www.neopets.com/petlookup.phtml?pet=Josholox")
        html = acc.get("http://www.neopets.com/petlookup.phtml?pet=Snowien", "http://www.neopets.com/petlookup.phtml?pet=Snowien")
        html = acc.get("http://www.neopets.com/petlookup.phtml?pet=ms_lady_love", "http://www.neopets.com/petlookup.phtml?pet=ms_lady_love")
        html = acc.get("http://www.neopets.com/bleh.phtml", "http://www.neopets.com/bleh.phtml")
        html = acc.get("http://www.neopets.com/petlookup.phtml?pet=Korbath", "http://www.neopets.com/petlookup.phtml?pet=Korbath")
        html = acc.get("http://www.neopets.com/petlookup.phtml?pet=Macky", "http://www.neopets.com/petlookup.phtml?pet=Macky")
        html = acc.get("http://www.neopets.com/petlookup.phtml?pet=mangokicks", "http://www.neopets.com/petlookup.phtml?pet=mangokicks")
        html = acc.get("http://www.neopets.com/medieval/plot_bfm.phtml?current_day=7", "http://www.neopets.com/medieval/plot_bfm.phtml?current_day=7")
        html = acc.get("http://www.neopets.com/evil/showcreature.phtml?villain=16", "http://www.neopets.com/evil/showcreature.phtml?villain=16")
        html = acc.get("http://www.neopets.com/petlookup.phtml?pet=lugia_gs", "http://www.neopets.com/petlookup.phtml?pet=lugia_gs")
        html = acc.get("http://www.neopets.com/petlookup.phtml?pet=Avasin", "http://www.neopets.com/petlookup.phtml?pet=Avasin")
        html = acc.get("http://www.neopets.com/petlookup.phtml?pet=Mega5Roll", "http://www.neopets.com/petlookup.phtml?pet=Mega5Roll")
        html = acc.get("http://www.neopets.com/pirates/academy.phtml?room=45", "http://www.neopets.com/pirates/academy.phtml?room=45")
        html = acc.get("http://www.neopets.com/pound/abandon.phtml", "http://www.neopets.com/pound/abandon.phtml")
        html = acc.get("http://www.neopets.com/island/training.phtml?type=wisdom", "http://www.neopets.com/island/training.phtml?type=wisdom")
        html = acc.get("http://www.neopets.com/games/defenders.phtml", "http://www.neopets.com/games/defenders.phtml")
        html = acc.get("http://www.neopets.com/games/defenders.phtml?type=old", "http://www.neopets.com/games/defenders.phtml?type=old")
        html = acc.get("http://www.neopets.com/petlookup.phtml?pet=Verillyan", "http://www.neopets.com/petlookup.phtml?pet=Verillyan")
        html = acc.get("http://www.neopets.com/search.phtml?selected_type=object&string=Angelpuss", "http://www.neopets.com/search.phtml?selected_type=object&string=Angelpuss")
        html = acc.get("http://www.neopets.com/neopedia.phtml?neopedia_id=179", "http://www.neopets.com/neopedia.phtml?neopedia_id=179")
        html = acc.get("http://www.neopets.com/pirates/academy.phtml?room=15", "http://www.neopets.com/pirates/academy.phtml?room=15")
        html = acc.get("http://www.neopets.com/pirates/academy.phtml?room=2", "http://www.neopets.com/pirates/academy.phtml?room=2")
        html = acc.get("http://www.neopets.com/pirates/academy.phtml?room=2149", "http://www.neopets.com/pirates/academy.phtml?room=2149")
        html = acc.get("http://www.neopets.com/petlookup.phtml?pet=GeorgetheGrundo12", "http://www.neopets.com/petlookup.phtml?pet=GeorgetheGrundo12")
        html = acc.get("http://www.neopets.com/objects.phtml?type=shop&obj_type=48", "http://www.neopets.com/objects.phtml?type=shop&obj_type=48")
        html = acc.get("http://www.neopets.com/petlookup.phtml?pet=Merakhias", "http://www.neopets.com/petlookup.phtml?pet=Merakhias")
        html = acc.get("http://www.neopets.com/tcg/displayCard.phtml?edid=9&id=5", "http://www.neopets.com/tcg/displayCard.phtml?edid=9&id=5")
        html = acc.get("http://www.neopets.com/weather.phtml", "http://www.neopets.com/weather.phtml")
        postdata = {"prizecode":"A384J-228P1"}
        html = acc.post("http://www.neopets.com/space/warehouse/prizecodes1.phtml", postdata, "http://www.neopets.com/space/warehouse/prizecodes.phtml")
        return tkMessageBox.showinfo("Avatar Collector", "All avatars collected")
        
    Button3 = Button(window, text="Start", command=getAvatars).grid(row=3,column=1)
    
    
    window.mainloop()

  2. The Following User Says Thank You to Water For This Useful Post:

    j03 (02-10-2016)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •