下面是关于“Python 网页请求之requests库的使用详解”的完整攻略:
1. requests库简介
requests是一个Python第三方库,用于发送HTTP请求。 使用requests包可以轻松地向指定的URL发送请求,获取响应。
2. requests的安装
在终端中使用pip命令安装:
pip install requests
3. requests库的基本用法
3.1 发送GET请求
使用requests库发送GET请求十分简单:
import requests
url = 'https://www.baidu.com'
response = requests.get(url)
print(response.text) # 打印获取到的HTML页面内容
上述代码中,先导入requests库,然后通过get方法发送一个请求,获取响应,最后打印了获取到的HTML页面内容。
3.2 发送POST请求
使用requests库发送POST请求也十分简单:
import requests
url = 'https://httpbin.org/post'
data = {'key1': 'value1', 'key2': 'value2'}
response = requests.post(url, data=data)
print(response.text) # 打印获取到的HTML页面内容
上述代码中,将需要post过去的数据传递给了一个字典变量data,然后调用了post方法,获取响应最后打印获取到的HTML页面内容。
4. 请求头
发送请求时,有时候我们需要额外添加请求头信息,requests库提供了修改请求头的方法:
import requests
url = 'https://www.baidu.com'
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3',
'Host': 'www.baidu.com'}
response = requests.get(url, headers=headers)
print(response.text) # 打印获取到的HTML页面内容
因为有的网站会对请求头进行识别,如果不添加请求头可能无法访问。所以在请求某些网站时,添加请求头就显得尤为重要。
5. cookies
请求cookie是我们常用的功能之一,requests库同样支持设置和使用cookie:
import requests
url = 'https://httpbin.org/cookies'
cookies = {'name1': 'value1', 'name2': 'value2'}
response = requests.get(url, cookies=cookies)
print(response.text) # 打印获取到的HTML页面内容
上述代码中,将需要设置的cookie传递给了一个字典变量cookies,然后调用get方法,获取响应最后打印获取到的HTML页面内容。
6. 代理
使用代理进行请求是我们在爬虫领域常用的操作,requests库同样支持使用代理:
import requests
url = 'https://www.baidu.com'
proxies = {'https':'https://127.0.0.1:1080', 'http':'http://127.0.0.1:1080'}
response = requests.get(url, proxies=proxies)
print(response.text) # 打印获取到的HTML页面内容
上述代码中,将需要使用的代理传递给了一个字典变量proxies,然后调用get方法,获取响应最后打印获取到的HTML页面内容。
7. SSL证书验证
requests库使用verify参数来控制证书验证,如果verify参数为True(默认情况下),请求时会验证服务器的SSL证书,如果证书验证失败将会抛出SSLError异常。
import requests
url = 'https://www.https123.com'
response = requests.get(url, verify=False)
print(response.text) # 打印获取到的HTML页面内容
上述代码中,设置verify参数为False表示忽略对证书的验证,可以正常获取到响应。如果开发中获取不了SSL验证的站点可以试一下这个方法。
以上就是有关requests库的详细攻略,可能不够完整,但是可以满足基础需求。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python 网页请求之requests库的使用详解 - Python技术站