什么都是重复 2021-12-27 21:42 采纳率: 100%
浏览 514
已结题

python爬虫QQ音乐评论爬不了

问题相关代码

import requests

headers = {
  'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36',
  'referer': 'https://y.qq.com/'
}

params={
  "_":"1640602806807",
  "sign":"zzb5d358b9cijwfbbdeg6mvuuvobby3ww678bc920"
}
res = requests.get(
  'https://u.y.qq.com/cgi-bin/musics.fcg',
  params=params,
  headers=headers)

json_data=res.json()
print(json_data)

#这接下的步骤都运行不了,因为没有req_1的内容
#Comments=json_data['req_1']['data']['CommentList']['Comments']
#for i in Comments:
# print("用户:",i['Nick'])
   print("评论:",i['Content'])

**运行结果及报错内容 **
{'code': 500001, 'ts': 1640611844715, 'start_ts': 1640611844715, 'traceid': '1ce1b4b5d0b7558e'}
如果把最后四行前面的#号删掉:
Traceback (most recent call last):
File "D:\pycharm\pythonProject\douban\QQ.py", line 21, in
Comments=json_data['req_1']['data']['CommentList']['Comments']
KeyError: 'req_1'
{'code': 500001, 'ts': 1640611929139, 'start_ts': 1640611929139, 'traceid': '2ea1507a5f31acab'}

不知道怎么办

  • 写回答

4条回答 默认 最新

  • CSDN专家-showbo 2021-12-28 11:18
    关注

    https://u.y.qq.com/cgi-bin/musics.fcg 这个接口是post请求的,不是get请求,并且缺少了post的数据,headers可不配置也能获取数据,主要是post发送的数据和url参数上的数据不能少

    下面测试正常

    img

    import requests
    headers = {
      #'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36',
      #'referer': 'https://y.qq.com/',
      #'referer': 'https://y.qq.com/n/ryqq/albumDetail/004cQkQ81Hbpw3'
    }
    data='{"comm":{"cv":4747474,"ct":24,"format":"json","inCharset":"utf-8","outCharset":"utf-8","notice":0,"platform":"yqq.json","needNewCode":1,"uin":0,"g_tk_new_20200303":5381,"g_tk":5381},"req_1":{"method":"GetCommentCount","module":"GlobalComment.GlobalCommentReadServer","param":{"request_list":[{"biz_type":2,"biz_id":"24323270"}]}},"req_2":{"module":"music.globalComment.CommentReadServer","method":"GetNewCommentList","param":{"BizType":2,"BizId":"24323270","LastCommentSeqNo":"","PageSize":25,"PageNum":0,"FromCommentId":"","WithHot":1}},"req_3":{"module":"music.globalComment.CommentReadServer","method":"GetHotCommentList","param":{"BizType":2,"BizId":"24323270","LastCommentSeqNo":"","PageSize":15,"PageNum":0,"HotType":2,"WithAirborne":1}},"req_4":{"module":"yqq.WhiteListServer","method":"Pass","param":{}}}'
    url='https://u.y.qq.com/cgi-bin/musics.fcg'
    params={'_':'1640661151903','sign':'zzbba988418sjf1ktry048xvbv5c843ia6ba1ee67'}
    res = requests.post(
      url,  params=params,
      data=data,
      headers=headers)
    json_data=res.json()
    #print(json_data)
    Comments=json_data['req_2']['data']['CommentList']['Comments']
    for i in Comments:
        print("用户:",i['Nick'])
        print("评论:",i['Content'])
     
    

    img


    有帮助或启发麻烦点下【采纳该答案】,谢谢~~

    本回答被专家选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 1月7日
  • 专家已采纳回答 12月30日
  • 创建了问题 12月27日

悬赏问题

  • ¥16 Qphython 用xlrd读取excel报错
  • ¥15 单片机学习顺序问题!!
  • ¥15 ikuai客户端多拨vpn,重启总是有个别重拨不上
  • ¥20 关于#anlogic#sdram#的问题,如何解决?(关键词-performance)
  • ¥15 相敏解调 matlab
  • ¥15 求lingo代码和思路
  • ¥15 公交车和无人机协同运输
  • ¥15 stm32代码移植没反应
  • ¥15 matlab基于pde算法图像修复,为什么只能对示例图像有效
  • ¥100 连续两帧图像高速减法