python中requests库get方法带参数请求,,起因是想爬五等分的花
python中requests库get方法带参数请求,,起因是想爬五等分的花
起因是想爬五等分的花嫁的漫画。这是其中的一个坑
先上代码
data={ ‘cid‘:567464, ‘page‘:1, ‘key‘:‘‘, ‘language‘:1, ‘gtk‘:6, ‘_cid‘:567464, ‘_mid‘:34949, ‘_dt‘:‘2019-05-03 13:03:08‘, ‘_sign‘:‘e74c8c52618a64a454dd7f12aff3cc1c‘ }
def getFun(url,data): ret=requests.get(url,params=data) print(ret.url) return ret
有两个坑。
一是使用get方法带参数请求时,是params=参数字典,而不是data=。data=是post方法的参数。只怪我学艺不精,只能在坑里摸爬滚打了
二是对参数的编码,对于上面的参数需要编码的就是_dt,这个是时间的参数需要编码,编码的是空格和冒号。我之前在浏览器上看的url是编码好的,我就预先编码好数据放到data里了,然而并不需要这样,只要把原始数据放进去,他就会自动编码。放入预先自己编码的数据反而会出错。这里我还发现了一点,在url编码时,有些编码是把空格编码为+,有些则是编码为%20,这一点我还没弄明白为什么。放入参数的数据是把空格编码为+了,我所访问的网址也正是需要这样的编码。
还有一点因为学艺不精而浪费大量时间。可以直接用ret.url来返回所请求的url,这样就可以与浏览器直接访问的结果对比。在找到这个函数之前一直是不停改参数看response来判断是不是对,然而到最后还是没改好,还是通过看这个ret.url才知道是编码的问题。
我好菜。
python中requests库get方法带参数请求
相关内容
- Python3 tkinter基础 Entry get 点击按钮 将输入框中文字输出
- Python中where()函数的用法,,where()的用法
- 在Windows上安装pytorch,,电脑环境为 :win
- Python(64)_写函数,判断用户传入的值(字符串,列表,
- [原创]win7/64位系统+python3.7.2下安装wordcloud库失败之解决
- python json格式转xml格式,,import xml
- VS2013中Python学习笔记[环境搭建],,前言 Python
- python3+Robot Framework+PyCharm自动化测试框架设计,,关于自
- python3 rsa 加解密 支持长字符串,,# rsa 加密de
- Python3基础 input 输入浮点数,整数,字符串,,????????P
评论关闭