介紹一個簡單的python爬蟲,通過Tkinter創建一個客戶端,當輸入要查詢的LOL用戶名稱的時候,可以顯示出當前用戶的所在服務器,當前戰力和當前段位。
爬取網頁地址:http://lol.duowan.com/zdl/
python版本:2.7
需要用到的模塊:Tkinter urllib2 json sys
實例代碼:
import urllib2, json, threading from Tkinter import * import sys reload(sys) sys.setdefaultencoding('utf-8') def get_zhanji(): name = str(et.get()) url = 'http://api.lolbox.duowan.com/api/v2/player/search/?player_name_list=%s&callback=jQuery111200161216930093' \ '95033_1470488155157&_=1470488155158' % name res = urllib2.urlopen(url) html = res.read()[44:-1] print html zhanji = json.loads(html)[u'player_list'] t.delete(0.0, END) for i in zhanji: print '服務器:%s 當前戰力:%s' % (i['game_zone']['alias'], i['box_score']) print '當前段位:%s' % (i['tier_rank']['tier']['full_name_cn'] + i['tier_rank']['rank']['name']) # print i['game_zone']['alias'] # print zhangji # print html t.insert(END, '服務器:%s 當前戰力:%s' % (i['game_zone']['alias'], i['box_score'])) t.insert(END, '當前段位:%s\n' % (i['tier_rank']['tier']['full_name_cn'] + i['tier_rank']['rank']['name'])) def rukou(): if et.get() == '': print '請輸入召喚師名稱' else: get_zhanji() # def qidong(): # t1 = threading.Thread(target=rukou) # t1.start() # get_zhanji() # print len(jQuery11120016121693009395033_1470488155157() root = Tk() root.title('LOL戰績查詢') root.geometry() et = Entry(root, font=('宋體, 16')) et.grid() b = Button(root, text='開始查詢', font=('宋體, 12'), command=rukou) b.grid() t = Text(root, font=('宋體, 16')) t.grid() root.mainloop()
界面效果展示:

