2条回答 默认 最新
- 小P聊技术 2021-06-18 22:37关注
Python3中request库的使用(爬虫基础):https://blog.csdn.net/baidu_41871794/article/details/83904024
- request库基于urllib,比urllib更加方便,是Python更加简单的http库。
- 使用request库的一个例子:
import requests response = requests.get('http://www.baidu.com') print(type(response))#返回值的类型 print(response.status_code)#当前网站返回的状态码 print(type(response.text))#网页内容的类型 print(response.text)#网页的具体内容(html代码) print(response.cookies)#网页的cookie
具体解释写在了注释里面,request中输出网页的html代码的方法是response.text方法,它相当于urllib库的response.read方法,只不过不需要进行decode操作。
打印cookie的操作也比urllib简单,只需要使用.cookie方法即可。
执行结果如下:
- 各种请求方式
import requests requests.post('http://httpbin.org/post') requests.delete('http://httpbin.org/delete') requests.put('http://httpbin.org/put') requests.head('http://httpbin.org/get') requests.options('http://httpbin.org/get')
这里的请求返回值可以去http://httpbin.org获取,这个网站可以用来进行http请求的测试。
GET请求
- 基本的GET请求
import requests response = requests.get('http://httpbin.org/get') print(response.text)
这是request中最简单的get请求。
- 带参数的GET请求
import requests response = requests.get('http://httpbin.org/get?name=germey&age=22') print(response.text)
其中http://httpbin.org/get后面的部分为get方法的基本构成,不清楚的可以去了解一下,以上代码会返回get请求参数。
如果不想构造url,那么requeat库中有一个params参数,可以传入一个字典,他会给你自动拼接到url后面,例子如下:
import requests data = { 'name':'germey', 'age':'22' } response = requests.get('http://httpbin.org/get',params=data) print(response.text)
这样就能构造一个get请求参数,和上面返回的内容相同。
- 解析json
import requests import json response = requests.get('http://httpbin.org/get') print(type(response.text)) print(response.json()) print(json.loads(response.text)) print(response.text) print(type(response.json()))
response.json()与json.loads ()返回的结果完全相同,在使用ajax请求时比较常用。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用 2