# coding = utf-8
import re
from urllib import request
class Spider():
url = 'https://www.panda.tv/cate/lol'
root_pattern = '<div class="video-info">([sS]*?)</div>'
name_pattern = '</i>([sS]*?)</span>'
number_pattern = '<span class="video-number">([sS]*?)</span>'
def __fetch_content(self):
r = request.urlopen(Spider.url)
htmls = r.read()
htmls = str(htmls,encoding= 'utf-8')
return htmls
def __analysis(self,htmls):
root_html = re.findall(Spider.root_pattern,htmls)
anchors = []
for html in root_html:
name = re.findall(Spider.name_pattern,html)
number = re.findall(Spider.number_pattern,html)
anchor = {'name':name , 'number':number}
anchors.append(anchor)
return anchors
def __refine(self,anchors):
l = lambda anchor:{
'name':anchor['name'][0].strip(),
'number':anchor['number'][0]
}
return map(l,anchors)
def __sort(self,anchors):
anchors = sorted(anchors,key=self.__sort_seed,reverse=True)
return anchors
def __sort_seed(self,anchor):
r = re.findall('d*',anchor['number'])
number = float(r[0])
if '万' in anchor['number']:
number *= 10000
return number
def __show(self,anchors):
for rank in range(0,len(anchors)):
print('rank ' + str(rank + 1)
+ ' : '+ anchors[rank]['name']
+ ' '+ anchors[rank]['number']
)
def go(self):
htmls = self.__fetch_content()
anchors = self.__analysis(htmls)
anchors = list(self.__refine(anchors))
anchors = self.__sort(anchors)
self.__show(anchors)
spider = Spider()
spider.go()
rank 1 : 贾克虎丶虎神 54.8万
rank 2 : 君克解说 44.6万
rank 3 : LOL丶摇摆哥 15.5万
rank 4 : 熊猫Tv丶狮子汪 7.1万
rank 5 : LPL熊猫官方直播 5.2万
rank 6 : Riot国际赛事直播间 4.3万
rank 7 : lol稳贱骨炼金 3.2万
rank 8 : 走A龙龟 2.6万
rank 9 : 广东城冠希丶 2.7万
rank 10 : 顺顺套路王 1.1万
rank 11 : 叫我官人 1.9万
rank 12 : 御天文哥丶 1.7万
rank 13 : 八万锐雯 1.5万
rank 14 : 石页的第一根矛o 1.2万
rank 15 : 浩东德莱文 8111
rank 16 : 天才Reborn 7544
rank 17 : 沙砾王 7198
rank 18 : 抗寒使者 6837
rank 19 : 童哥一v一 5561
rank 20 : 小沁想吹空调吖 4998
rank 21 : 牛老师丶 4762
rank 22 : 魔剑神无敌 3912
rank 23 : 听白呀丶 3852
rank 24 : 易小埋l 3521
rank 25 : 熊猫TV丶油菜花1 3407
rank 26 : 冰雪丶狐狸 2932
rank 27 : 大学长丶 2776
rank 28 : 脾气超好的李浪婷 2615
rank 29 : 熊猫tv丶仙Q 2343
rank 30 : 小麦子鲜奶油 2338
rank 31 : 乡下帅小伙 2116
rank 32 : lol官方赛事英文台 2101
rank 33 : 希希天使S 2043
rank 34 : 小白菜嗷呜 2012
rank 35 : 这个赵信有丶C 1974
rank 36 : 狐媚娘 1936
rank 37 : 熊猫尼古拉斯胖虎 1910
rank 38 : 冷面寒枪人马神 1888
rank 39 : 佳沛的虚胖男友 1879
rank 40 : 兰晨丶 1864
rank 41 : 627091丶柠檬 1844
rank 42 : _木木不酷 1817
rank 43 : 亦然ovo 1814
rank 44 : 杨洋洋洋i 1804
rank 45 : AD阿丁 1790
rank 46 : 晚风笑我a 1782
rank 47 : 主播六指 1781
rank 48 : 梁老师的作死大头 1765
rank 49 : 叶芯丶 1761
rank 50 : 小丑皇啊 1758
rank 51 : 小杰豹女专场 1758
rank 52 : DSN丶马尔科 1755
rank 53 : 我是天天天天天儿 1741
rank 54 : 温柔善良的男朋友 1738
rank 55 : hiddenface 1735
rank 56 : 吃藕人的小丑 1725
rank 57 : 熊猫TVsao马 1711
rank 58 : Dpo3 1675
rank 59 : fuckink 1667
rank 60 : 绯叶阿 1617
rank 61 : 前奏丶不放弃 1592
rank 62 : 我是饭饭呀丶 1590
rank 63 : 小战神 1586
rank 64 : 熊猫臻本臻 1574
rank 65 : _Infi_ 1543
rank 66 : Jebyyy 1530
rank 67 : 熊猫TV丶Mrr 1521
rank 68 : 于始于止 1488
rank 69 : AJ德莱文丶 1467
rank 70 : 金克喵的猫珥朵丶 1448
rank 71 : 广广丶广广丶 1447
rank 72 : 17RIVEN丶 1420
rank 73 : panda丶江南 1403
rank 74 : 熊猫tv无名皎月 1403
rank 75 : 小羊啊丶 1377
rank 76 : 琳琪baby 1363
rank 77 : 小星k95 1350
rank 78 : 传海老大 1318
rank 79 : 栗子菌i 1309
rank 80 : 耳鼻喉科刘主任 1304
rank 81 : 皮皮丁OvO 1282
rank 82 : 万里阳光zz 1274
rank 83 : 熊猫TV丶志希 1260
rank 84 : xm久伴 1255
rank 85 : 做个高手 1242
rank 86 : Panda丶小财神 1233
rank 87 : 这个人帅到没朋友 1210
rank 88 : 熊猫文少1894808 1197
rank 89 : 韦国君 1148
rank 90 : Tobu77 1144
rank 91 : Panda丶浅唱小生 1138
rank 92 : 熊王C 1133
rank 93 : 熊猫208188丶卡达 1091
rank 94 : 陈小贱丶丶丶 1075
rank 95 : 阿枫丶丶丶 1075
rank 96 : 雅琳Zz 1063
rank 97 : 大表哥王者蛇女 1049
rank 98 : 暖攻音的老皮 995
rank 99 : 孤星兰 991
rank 100 : 敦敦和砍刀橙 980
rank 101 : 熊猫TV灬美猴王 974
rank 102 : 梦想的狙奴 974
rank 103 : panda苏易 973
rank 104 : SJY潇洒 896
rank 105 : 熊猫壹棉被 880
rank 106 : 索纳 879
rank 107 : 刺青QVQ 873
rank 108 : Kly丶娅娅 864
rank 109 : 暴力美学小毅 861
rank 110 : 阿潘的故事 857
rank 111 : 星儿姐姐Ya 857
rank 112 : 江西丶社会强 846
rank 113 : 韩国老金 841
rank 114 : 最强中单莫甘娜 828
rank 115 : 陪你看日出G 812
rank 116 : 提莫天天玩胡子 807
rank 117 : 白竹ing 807
rank 118 : 慕容小辣椒 797