老师,请教一下这个问题,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那里写错了,打扰了!!!!!!!

0
0

Python3.8系统入门+进阶 (程序员必备第二语言)

语法精讲/配套练习+思考题/原生爬虫实战

14598 学习 · 4470 问题

查看课程