Requests库

import requests

# r = requests.get('https://www.baidu.com/')
# print(r.status_code)
# 对于带参数的URL,传入一个dict作为params参数:
# r = requests.get('https://www.douban.com/search', params={'q': 'python', 'cat': '1001'})
# print(r.url)
# requests自动检测编码,可以使用encoding属性查看
# print(r.encoding)
# 无论响应是文本还是二进制内容,我们都可以用content属性获得bytes对象,bytes对象:数据类型为bytes
# 由一系列不可改变的 Unicode 字 符组成的叫 string。而一系列不可改变的介于 0-255 之间的数字被称为 bytes 对象。
# 在字符串前面加上b,可声明bytes对象,eg:text=b"bytes" print(type(text))
# print(r.content)
# 获取特定类型的响应,eg:JSON
# ???r = requests.get('https://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20weather.forecast%20where%20woeid%20%3D%202151330&format=json')
# ???print(r.json)
# 需要传入HTTP Header,传入一个dict作为headers参数
# r = requests.get('https://www.douban.com/', headers={'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit'})
# print(r.text)
# 要发送POST请求,只需要把get()方法变成post(),然后传入data参数作为POST请求的数据
# r = requests.post('https://accounts.douban.com/login', data={'form_email': 'abc@example.com', 'form_password': '123456'})
# print(r.text)
# print(r.json)
# requests默认使用application/x-www-form-urlencoded对POST数据编码。如果要传递JSON数据,可以直接传入json参数
# params = {'key': 'value'}
# r = requests.post(url, json=params) # 内部自动序列化为JSON
# 上传文件需要更复杂的编码格式,但是requests把它简化成files参数
# upload_files = {'file': open('report.xls', 'rb')}
# r = requests.post(url, files=upload_files)
# 在读取文件时,注意务必使用'rb'即二进制模式读取,这样获取的bytes长度才是文件的长度。
# 指定超时,传入以秒为单位的timeout参数
# r = requests.get(url, timeout=2.5) # 2.5秒后超时
# 在请求中传入Cookie,只需准备一个dict传入cookies参数
# cs = {'token': '12345', 'status': 'working'}
# r = requests.get(url, cookies=cs)
# requests对Cookie做了特殊处理,使得我们不必解析Cookie就可以轻松获取指定的Cookie
# Cookie 储存在用户本地终端上的数据,网站为了辨别用户身份
# r.cookies['ts']
原文地址:https://www.cnblogs.com/nfgg/p/10972160.html