python爬蟲原理寫的乙個簡單獲取觀眾資料的**,用tkinter做了個簡單的gui介面,然後用pyinstaller編譯為exe可執行檔案,有需要的可以根據自己需求修改.
from tkinter import
*import urllib.request
import tkinter.messagebox
from lxml import etree
import json
import time
import re
root=tk(
)root.title(
"獲取氧吧直播間觀眾資料"
)label(root,text=
"請輸入直播間號碼"
).grid(row=
0,column=
0,sticky=w)
v1=strin**ar(
)e1=entry(root,textvariable=v1,width=30,
)e1.grid(row=
0,column=
0,padx=
105,pady=
5,sticky=w)
sb=scrollbar(root,orient=vertical)
sb.grid(row=
1,column=
1,columnspan=
3,padx=
0,pady=
5,sticky=ns)
lb = listbox(root,width=
68,height=
41,yscrollcommand=sb.
set,setgrid=
true
,selectmode=extended)
lb.grid(row=
1,column=
0,padx=
5,pady=
5,columnspan=
5,sticky=w)
sb.config(command=lb.yview)
root.geometry(
"8x41+750+100"
)def
getusertlist()
: txt=v1.get()if
not txt.isdigit():
tkinter.messagebox.showinfo(
"請輸入"
,"請輸入房間號"
)else
: url =
''%(v1.get())
r = urllib.request.urlopen(url)
htmldata = r.read(
) html = etree.html(htmldata)
nickname = html.xpath(
'//head/title/text()'
) content = html.xpath(
'//script/text()'
) p = r'[0-9]'
pid = re.findall(p, content[2]
) nowtime = time.time(
) nowtime =
int(nowtime)
listurl =
''%(pid[0]
, nowtime)
userdata = urllib.request.urlopen(listurl)
userlist = userdata.read(
) jsondata = json.loads(userlist.decode(
'utf-8'))
lb.insert(end,
"***********************************==="
, nickname[0]
,"***********************************==="
,"觀眾總數:%s"
%(jsondata[
'total'])
,"遊客總數:%s"
%jsondata[
'visitor'],
%jsondata[
'guardonline'],
"登入使用者總數:%s"
%(jsondata[
'total'
]- jsondata[
'visitor'])
,"***********************************==="
,"登入使用者資料"
,"***********************************==="
)for fans in jsondata[
'viewer']:
lb.insert(end,
"使用者id:%s"
%fans[
'id'],
"使用者暱稱:%s"
%fans[
'name'],
"使用者等級:%s"
%fans[
'levellist'][
0]['levelname'],
"使用者城市:%s"
%fans[
'city'],
"***********************************==="
)def
removedata()
: lb.delete(
0,end)
e1.delete(
0,end)
button(root,text=
"獲取資料"
,width=
10,command=getusertlist)
.grid(row=
0,column=
0,padx=
330,pady=
5,sticky=w)
button(root,text=
"清除"
python求眾數程式 python求眾數問題例項
問題描述 多重集中重數最大的元素稱為眾數.就是乙個可以有重複元素的集合,在這個集合中重複的次數最多的那個數就叫它的眾數.如s 1,2,2,2,3,5 重數是2,其重數為3 例項 如下 list num list num count 0 dict num 從檔案讀入,檔案第一行為集合中元素的個數,以後...
python計算眾數
def get mode list 計算眾數 引數 list 列表型別,待分析資料 返回值 grade mode 列表型別,待分析資料的眾數 list set set list 取list的集合,去除重複元素 frequency dict for i in list set 遍歷每乙個list的元素...
Python獲取資料
1 raw input raw input 函式用來獲取從鍵盤上獲取一行文字,將以字串的形式返回使用者輸入的一切內容,意思就是比如從鍵盤輸入的是數字也將以字串的形式獲取。2 imput input 把讀入的資料預設為python表示式,對於input 函式,輸入字串時要用引號將其轉化為合法的pyth...