Python基础语法11:JSON请求

1.network:记录当前页面所发生的请求(点F12打开)

XHR:一种不借助刷新网页即可传输数据的对象,ajax技术
DOC:第0个请求一般在这里

上面的例子:
1.参数放在params里,可以实现循环
2.请求头放在headers里,有些服务会反爬虫,可以修改请求头假装是服务器请求

2.返回的数据为json

例子:


import requests
import json,time

#引用requests模块
url = 'https://c.y.qq.com/lyric/fcgi-bin/fcg_query_lyric_yqq.fcg'
commentid='song_97773_2799571269_1583498452'
headers = {
    'origin':'https://y.qq.com',
    # 请求来源,本案例中其实是不需要加这个参数的,只是为了演示
    'referer':'https://y.qq.com/n/yqq/song/001zMQr71F1Qo8.html',
    # 请求来源,携带的信息比“origin”更丰富,本案例中其实是不需要加这个参数的,只是为了演示
    'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36',
    # 标记了请求从什么设备,什么浏览器上发出
    }
for x in range(2):
    params = {
    'nobase64': '1',
    'musicid': '718477',
    '-': 'jsonp1',
    'g_tk': '5381',
    'loginUin': '0',
    'hostUin': '0',
    'format': 'json',
    'inCharset': 'utf8',
    'outCharset': 'utf-8',
    'notice': '0',
    'platform': 'yqq.json',
    'needNewCode': '0'
    }

    # 将参数封装为字典
    res_music = requests.get(url,headers=headers,params=params)
    print(res_music.status_code)
    res_music.encoding='utf-8'
    json_music=res_music.json()
    print(type(json_music))
    # print(json_music['lyric'])
    lyrics=json_music['lyric'].split('[')
    for i in lyrics:
        info=i[17:].replace('&#10', '').replace('&#32', '').replace(';', '')
        print(info)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值