老师,请教一下这个问题,TypeError: string indices must be integers
来源:13-9 数据精炼

simon_wyk
2018-01-11
from urllib import request
import re
import json
class Spider():
url='https://www.panda.tv/cate/lol'
pattern='<div class="video-info">[\s\S]*?</div>'
name_pattern='<span class="video-nickname" title="([\s\S]*?)">'
pop_pattern=' <span class="video-number">([\s\S]*?)</span>'
def __fetch_content(self):
req=request.Request(Spider.url)
r=request.urlopen(req)
htmls = r.read()
htmls = str(htmls,encoding='utf-8')
return htmls
def __analysis(self,htmls):
res=re.findall(Spider.pattern,htmls)
gro = []
for content in res:
name=re.findall(Spider.name_pattern,content)
number=re.findall(Spider.pop_pattern,content)
dic={'name':name,'number':number}
gro.append(dic)
return res
def __define(self,gro):
l = lambda gro:{'name':gro['name'][0].strip(),'number':gro['number'][0]}
return map(l,gro)
def go(self):
htmls=self.__fetch_content()
gro=self.__analysis(htmls)
m=list(self.__define(gro))
a = Spider()
ht=a.go()
1回答
-
simon_wyk
提问者
2018-01-11
老师,我检查了很多遍发现return那里写错了,打扰了!!!!!!!
00
相似问题