python scrapy怎么处理json api
用scrpay抓取一个段子api,不是太会处理。
api:http://neihanshequ.com/joke/?...
如下格式:
我的代码
def parse_item(self,response): jdict=json.loads(response.body)
jdata = jdict['data']['data']
item = NhdzItem()
list=[]
for i in range(len(jdata)):
list.append(jdata[i])
for t in range(len(list)):
item['text']=list[t]['group']['text']
item['content']=list[t]['group']['content']
item['username']=list[t]['group']['user']['name']
yield item
content,text,username
唉!星期五晚上她还要求开着房,现在就像陌生人一样了,年龄就是问题么?七岁很大么?3月3日交往到现在,已经打破我以前的恋爱经历了,我想好好珍惜都不行么?为什么女人都是在嫌弃奋斗着的男人?唉……现在的我只能多为自己着想!有钱,什么样的女人找不到?(段友们,我说得对还是错?),唉!星期五晚上她还要求开着房,现在就像陌生人一样了,年龄就是问题么?七岁很大么?3月3日交往到现在,已经打破我以前的恋爱经历了,我想好好珍惜都不行么?为什么女人都是在嫌弃奋斗着的男人?唉……现在的我只能多为自己着想!有钱,什么样的女人找不到?(段友们,我说得对还是错?),乌黑的段子
最后结果只能取到20个内容中的最后一条,但是item['text']如果print出来是有20条的。
求助!感谢!
回答:
- yield item写到第二层for循环下面
- 你这样写就是每次循环把前面的item值覆盖了,应该是:创建一次yield一次
- 而且你上面的jdata本来就是一个list,没必要再创建一个列表来遍历保存吧?
以上是 python scrapy怎么处理json api 的全部内容, 来源链接: utcz.com/a/164819.html