requests包的使用
1. 导入requests模块,几种请求方式
import requests
r = requests.get(url = '...')
r = requests.post(url = '...')
r = requests.put(url = '...')
r = requests.head(url = '...')
r = requests.delete(url = '...')
r = requests.options(url = '...')
状态码 | 意义 |
---|---|
200 | 成功提供请求页面 |
302 | 服务器目前从不同位置的网页响应请求(重定向) |
404 | 服务器找不到请求的网页 |
- 获取网页编码
使用r.encoding来检查网页的编码
import requests
r = requests.get(url = 'https://news.qq.com/')
print(r) #返回了状态码,200表示成功,302表示临时移动,404表示未找到
print(type(r)) #一种状态类型
"""直接查看状态码"""
print(r.status_code)#查看状态码 #也可以在网页开发者模式下的Network中找到
"""直接查看网页编码"""
print(r.encoding) #查看网页编码
"""修改网页编码"""
r.encoding = 'utf-8' #修改网页编码
print(r.encoding)
2. 对URL传递参数来进行搜索
在百度搜索栏内输入’学习使我快乐’得到的url等于直接在网址输入框中输入http://www.baidu.com/s?wd=学习使我快乐
目的是修改 ‘?’ 后面的参数,参数之间用’&'隔开
"""修改方式1 在python修改url参数"""
import requests
r = requests.get(url = 'https://www.baidu.com/s',params = {'wd':'学习使我快乐'}) #在python修改url参数
print(r) #注意参数要写成字典形式
print(type(r))
print(r.url) #查看新产生的链接(即修改参数后的链接)
"""修改方式2 直接改整体url中的参数而不用,params = """
import requests
r = requests.get(url = 'https://www.baidu.com/s?wd=学习使我快乐') #直接修改url
print(r) #注意参数要写成字典形式
print(type(r))
print(r.url) #查看新产生的链接(即修改参数后的链接)
3. 获取相应页面内容(使用.text)
import requests
r = requests.get(url = 'https://www.baidu.com/s?wd=学习使我快乐') #直接修改url
print(r.text) #获取页面内容
4. 了解头域
- 头域在网页的开发者模式中的Network下Headers中,包括了选中文件的主要信息
- 使用.headers进行头域获取(得到的结果是一个字典)
import requests
r = requests.get(url = 'https://www.baidu.com/s?wd=学习使我快乐') #直接修改url
print(r.headers) #获取头域 (返回的是一个字典形式)
st = r.headers
print(st['Date'])
5. 设置超时使用timeout
- 使用timeout来设置超时时间,一旦超过这个时间还没获得响应内容,将报错
import requests
r = requests.get(url = 'https://www.baidu.com/s?wd=学习使我快乐',timeout = 1)
#设置0.1s的延迟,如果不报错则输出successful
print('successful!')