今天发现一个网站,新榜,是各大网站,视频好的排行网站,请求时动态网页的xhr。网络里选择xhr

刷新就可以看到数据。

代码如下:


import requestsheaders = {'authority': 'www.newrank.cn','sec-ch-ua': '"Microsoft Edge";v="95", "Chromium";v="95", ";Not A Brand";v="99"','accept': 'application/json, text/javascript, */*; q=0.01','content-type': 'application/json;charset=UTF-8','x-requested-with': 'XMLHttpRequest','sec-ch-ua-mobile': '?0','user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4613.0 Safari/537.36 Edg/95.0.997.1','sec-ch-ua-platform': '"Windows"','origin': 'https://www.newrank.cn','sec-fetch-site': 'same-origin','sec-fetch-mode': 'cors','sec-fetch-dest': 'empty','accept-language': 'zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6,ko;q=0.5,ja;q=0.4',
}params = (('nonce', '6fddb2680'),('xyz', '5bb76228dc539601e197d148ca2d19a9'),
)data = '{"numeric":"\u5A31\u4E50","rankDate":"2021-09-07","start":1,"size":50,"rankType":"0","type":"0"}'response = requests.post('https://www.newrank.cn/nr/bili/rank/complexMainRank', headers=headers, params=params, data=data.encode('utf-8'))#NB. Original query string below. It seems impossible to parse and
#reproduce query strings 100% accurately so the one below is given
#in case the reproduced version is not "correct".
# response = requests.post('https://www.newrank.cn/nr/bili/rank/complexMainRank?nonce=6fddb2680&xyz=5bb76228dc539601e197d148ca2d19a9', headers=headers, data=data)print(response.status_code)
print(response.json())

这里面有一个坑就是 data。如果不加encode ,就会返回这样的结果:

这还是编码的问题。这里body其实就是data

加上这个就好了。

结果返回:

请求时的编码问题 Use body.encode(‘utf-8‘) if you want to send it encoded in UTF-8相关推荐

  1. C# HttpHelper帮助类,真正的Httprequest请求时无视编码,无视证书,无视Cookie,网页抓取...

    //取当前webBrowser登录后的Cookie值         [DllImport("wininet.dll", CharSet = CharSet.Auto, SetLa ...

  2. Get请求与URL编码解码

    Get请求传参,与编码解码 @1 Get请求流程: 在get请求中,参数直接添加在了url后面,同url一起提交到服务器. 常用的url参数的格式为: http://ip:port/path/file ...

  3. 服务端发post请求产生的编码问题

    最近在做一个功能,大概功能是这样的,供应商提供http接口给我们,然后我们抓取供应商的数据保存到数据库,问题在于他们编码格式是gb2312的,而我们是utf-8. 大家可能会有个误区,post请求是无 ...

  4. tomcat请求数据的编码设置

    tomcat5中,为了保证get数据采用UTF8编码,在server.xml中进行了如下设置: <Connector port="8080" maxThreads=" ...

  5. 微信小程序wx.request中post请求时data中参数不能传到后台

    当使用POST方式请求时,后端无法获取data中的数据, 将: 'content-type': 'application/json' 修改为: 'content-type': 'application ...

  6. Python2和Python3正则匹配中文时的编码问题

    Python2和Python3正则匹配中文时的编码问题 我们都会遇到这样的人,他们说话时是中文英文穿插使用的.也就是一句话中有中文也有英文,很多时候没有办法避免,尤其是说一些专业术语时,当然也有纯个人 ...

  7. 编码与解码(encode、decode)

    编码与解码(encode.decode) 一.什么是编码: 例:从文字到0.1的映射称为编码 将文本字符编成一系列的0和1 聚义来说就是将字母数字及标点符号编一个号.一个字节可以表示256个数字,表示 ...

  8. android5 网络请求时 FileNotFoundException android兼容性原因

    在制作android app过程中,难免需要用到网络请求,而网络请求过程中,中文参数很多时候也会用到. 接下来是关于我遇到的问题 在android7以上的版本中,带中文参数的网络请求能正常访问网站,而 ...

  9. java content-length_java向服务器post请求时首部字段content-length的计算方法

    当java向服务器post请求时,首部中有一个Content-length字段,即请求主体中的字节数.首部在主体的前面.不过,要写入首部,需要知道主体的长度,而在写首部的时候可能还不知道主体的长度.正 ...

最新文章

  1. 【Linux实用技术】LFS6.3构建实录
  2. Django:模型model和数据库mysql(一)
  3. 03_4_this关键字
  4. Spring框架—IoC容器
  5. Zuul使用正则表达式指定路由规则
  6. 13_python基础—函数进阶(参数、返回值、递归)
  7. 互联网架构设计漫谈 (2)
  8. matlab光学谐振腔稳区图,基于图像处理的光学谐振腔自准直研究方法
  9. ES9新特性_ES9正则扩展-反向断言---JavaScript_ECMAScript_ES6-ES11新特性工作笔记055
  10. Oracle登陆SQL Plus,Oracle基础学习登陆SQLPLUS(一)
  11. python源码中的学习笔记_第3章_range函数与循环结构
  12. Yii 2.0 权威指南 (6) 请求处理
  13. linux qq传文件怎么安装,在Ubuntu Linux下怎样安装QQ
  14. samba 指定的网络名不再可用
  15. CUDA11.0+cudnn8.0.5下载安装 2021-04-30
  16. 电信网通竞合协议事件升级 内部文件泄露曝裂痕
  17. graphpad prism怎么添加图例_Graphpad Prism 绘制散点图详细图解
  18. CCLE:肿瘤细胞系百科全书
  19. 胡巴动态表情包 捉妖记胡巴QQ表情无水印下载
  20. EXCEL:SUMIFS多条件求和2(筛选效果),含字符串转数组用法

热门文章

  1. 如何使用计算机模拟函数图像,模拟图像
  2. python数据处理高斯滤波_十大点云数据处理技术梳理
  3. mysql使用释放资源_数据库--释放mysql数据库资源
  4. 【控制】《自动控制原理》胡寿松老师-第9章-线性系统的状态空间分析与综合
  5. 【控制】《多无人机协同控制技术》周伟老师-第9章-单无人机目标跟踪飞行控制策略
  6. 【控制】控制学习路线资源整理
  7. 9.1 基于内容的推荐系统-机器学习笔记-斯坦福吴恩达教授
  8. range在c语言中的意思,“range”的含义,你get到了吗?
  9. 五天带你学完《计算机网络》·第一天·物理层
  10. greendao引起的NoClassDefFoundError异常解决