Results 1 to 2 of 2

Thread: [Python - Tkinter GUI] ~ avatar grabber

  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 8h 42m
    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)

  3. #2

    Joined
    Jul 2012
    Posts
    1,888
    Thanks
    1,619
    Thanked
    3,297/1,003
    DL/UL
    223/0
    Mentioned
    469 times
    Time Online
    132d 23h 52m
    Avg. Time Online
    45m
    from Tkinter import * (python 2.7)
    from tkinter import * (python 3)

    Pointing that out just in case someone uses python 3

Posting Permissions

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