zby0709 发表于 2020-10-8 14:06:45

KeyError: 'data'!!

import requests
import csv
import json


headers_meituan = {
    'User-Agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.102 Safari/537.36'
}
# 新建文件夹
fp = open('./美团.csv', 'a', newline='', encoding='utf-8-sig')
# 方式为写入 表头
writer = csv.writer(fp)
writer.writerow(("用户名", "用户ID", "用户链接", "用户评价"))
# 爬取所有网页
for num in range(0, 381, 10):
    print("正在爬取%s条......." % num)
    ajax_url = "https://www.meituan.com/meishi/api/poi/getMerchantComment?uuid=8d7c0047441b44f3b88f.1586889166.1.0.0&platform=1&partner=126&originUrl=https%3A%2F%2Fwww.meituan.com%2Fmeishi%2F193383554%2F&riskLevel=1&optimusCode=10&id=193383554&userId=&offset="+ str(num) +" pageSize=10&sortType=1"
    print(ajax_url)
    reponse = requests.get(url=ajax_url, headers=headers_meituan)# 将所得的内容赋予一个值reponse
    for item in reponse.json()["data"]["comments"]:
      name = item["userName"]
      user_Id = item["userId"]
      user_Url = item["userUrl"]
      comment = item["comment"]
      result = (name, user_Id, user_Url, comment)
      print(result)
      writer.writerow(result)
      print("~" * 100)
fp.close()

疾风怪盗 发表于 2020-10-8 14:18:53

    print(reponse.content.decode())
pageSize=10&sortType=1
{"status":0,"data":{"tags":[{"count":151,"tag":"服务热情"},{"count":92,"tag":"味道赞"},{"count":88,"tag":"价格实惠"},{"count":80,"tag":"性价比高"},{"count":69,"tag":"菜品健康"},{"count":66,"tag":"分量足"},{"count":55,"tag":"上菜快"},{"count":12,"tag":"回头客"},{"count":5,"tag":"饮品赞"},{"count":4,"tag":"海鲜棒"}],"comments":null,"total":463}}

comments是null
页: [1]
查看完整版本: KeyError: 'data'!!