使用requests库发起gbk编码的get请求
有一个爬虫,查询需要发起get请求,这个网站整个都是gbk编码
如果直接发起请求,是不可以的,因为请求参数q首先用utf8编码转化成bytes,然后将bytes进行URLEncode变为字符串。
resp=requests.get("http://haha.com",params={"q":"你好"
})
print(resp.url)
第一种解决方法:直接使用bytes,而不用字符串,则可以避免将字符串用utf8编码
res = requests.get("http://www.baidu.com", params={'q': bytes('天下大势为我所控', 'gbk')
})
第二种解决方法,直接拼串
url="http://www.baidu.com/"+requests.utils.quote("天下大势为我所控",encoding='gbk')
requests.get(url)
第三种解决方法,使用PreparedRequest
from requests.models import PreparedRequest
p=PreparedRequest()
s=p.prepare_url("http://www.baidu.com",params={'q':bytes('天下大势为我所控','gbk')
})
print(p.url)
作为一个纯python的库,requests还是很值得研究的。
转载于:https://www.cnblogs.com/weiyinfu/p/8088085.html
使用requests库发起gbk编码的get请求相关推荐
- python3中使用requests库出现的编码问题
最近在使用python完成爬虫任务时遇到了编码问题,查看了很多资料,现总结一些编码的知识. 1.编码解码 1.1 字符和字节 "字节"是一个8位的物理存贮单元.而"字符& ...
- 压缩包安装fitter库,gbk编码错误解决方法
安装fitter库 直接pip和conda install都安装不了(不知道为什么,反正找不到 在https://pypi.tuna.tsinghua.edu.cn/simple/fitter下载压缩 ...
- python requests cookies请求_python的requests库怎么发送带cookies的请求
背景: 在用robot做接口自动化时,有一个查询接口需要用到登录后返回的token等信息作为cookies作为参数一起请求(token是在返回体中,并不在cookies中), 刚好create ses ...
- python requests post cookies_python的requests库怎么发送带cookies的请求
背景: 在用robot做接口自动化时,有一个查询接口需要用到登录后返回的token等信息作为cookies作为参数一起请求(token是在返回体中,并不在cookies中), 刚好create ses ...
- python requests post请求_实例解析Python3 如何利用requests 库进行post携带账号密码请求数据...
1 调试过程 用Python3.6+Sciter+PyCharm写了一个py测试脚本helloworld.py,该脚本中只含有一条语句"import sciter".在PyChar ...
- Requests库网络爬虫实战
实例一:页面的爬取 >>> import requests >>> r= requests.get("https://item.jd.com/100003 ...
- python爬虫requests实战_Python爬虫之requests库网络爬取简单实战
实例1:直接爬取网页 实例2 : 构造headers,突破访问限制,模拟浏览器爬取网页 实例3 : 分析请求参数,构造请求参数爬取所需网页 实例4: 爬取图片 实例5: 分析请求参数,构造请求参数爬取 ...
- requests库学习
requests库学习 requests快速上手 http://2.python-requests.org/zh_CN/latest/user/quickstart.html Requests库是用来 ...
- python爬虫基础-requests库
python爬虫基础-requests库 python爬虫 1.什么是爬虫? 通过编写程序,模拟浏览器上网,然后让其去互联网上抓取数据的过程. 注意:浏览器抓取的数据对应的页面是一个完整的页面. 为什 ...
最新文章
- ASP.NET(C#)常用代码30例
- unix实际用户ID和有效用户ID解析
- 解放双手 | Jenkins + gitlab + maven 自动打包部署项目
- (0059)iOS开发之添加自定义字体库并设置文本字体
- XGBoost核心讲解笔记(贪心学院)
- java常用简略语含义
- 手把手教程:用Python开发一个自然语言处理模型,并用Flask进行部署
- BGP——邻居状态机+报文分析(总结)
- asp.net ReportViewer 设置 rdlc textbox的值
- python 调用opencv dll_【问题已解决】python 3.6下安装opencv-python解决cv2 DLL load failed: 找不到指定的模块问题...
- DOM 事件深入浅出(一)
- 2010-09-11
- 网站被攻击拿下—只因为程序员一个文件上传功能没写好
- jupyter的常用操作——Python学习(二)
- Spring Boot 中使用WebJars
- 中国人工智能趋势报告(完整版)
- oracle 应收 系统选项,Oracle财务系统应收账款模块操作手册
- HTML + CSS实现图片3D旋转效果
- 实际开发中implement与extend区别
- [Unity3d] [图文]【寻路】 Waypoint 与 NavMesh 比较(转)