报错:TypeError: 'set' object is not subscriptable
class Htmloutputer(object):
def __init__(self):
self.datas=[]
def collect_data(self,data):#收集数据
if data is None:#如果数据是空的就返回
return
self.datas.append(data)#否则就往列表中添加data
def output_json(self):#写出文件
fout=open('9udata.json','w')
fout.write('{')#0--
fout.write('"code":200,')
fout.write('"author":"wenruding",')
fout.write('"list":[')#1--
fout.write('{')#2--
for data in self.datas:
fout.write('"url":"%s",'% data['url'])
fout.write('"title":"%s",' % data['title'].encode('utf8'))
fout.write('"summary":"%s",' % data['summary'].encode('utf8'))
fout.write('}')#--2
fout.write(']')#--1
fout.write('}')#--0
fout.close()输出结果:
"C:\Program Files (x86)\Python38-32\python.exe" D:/file/python/get9u/spider_main.py
craw 1:https://a.9game.cn/lolsy/4489275.html
craw 2:https://a.9game.cn/lolsy/4490449.html
craw 3:https://a.9game.cn/lolsy/4489389.html
craw 4:https://a.9game.cn/lolsy/3740915.html
craw 5:https://a.9game.cn/lolsy/4492319.html
Traceback (most recent call last):
File "D:/file/python/get9u/spider_main.py", line 34, in <module>
obj_spider.craw(root_url)
File "D:/file/python/get9u/spider_main.py", line 29, in craw
self.outputer.output_json()#调用output_json进行输出
File "D:\file\python\get9u\html_outputer.py", line 22, in output_json
fout.write('"url":"%s",'% data['url'])
TypeError: 'set' object is not subscriptable
进程已结束,退出代码 1
然后输出文件内容是:
{"code":200,"author":"wenruding","list":[{