requests.get()
requests.get()是常用的方法。
Response对象包含爬虫返回的内容。
r = requests.get(url = 'https://www.baidu.com/')
print(type(r))
输出
<class 'requests.models.Response'>
requests属性
编码方式
r.encoding ='utf-8'
print(r.text)
Requests异常
爬取代码通用框架
def getHtml(url):
try:
r = requests.get(url,timeout=30)
r.raise_for_status()
r.encoding = r.apparent_encoding # utf-8编码
return r.text
except:
return '产生异常'
if __name__ == "__main__":
url = 'https://www.baidu.com/'
print(getHtml(url))
Http协议
HTTP是一个基于“请求与响应”模式的、无状态的应用层协议。
HTTP协议采用URL作为定位网络资源的标识, URL格式如下:
http://host[:port][path]
- host: 合法的Internet主机域名或IP地址
- port: 端口号,缺省端口为80
- path: 请求资源的路径
HTTP协议对资源的操作
主要使用方法
requests.request(method, url, **kwargs)
- method : 请求方式,对应get/put/post等7种
- ∙url : 拟获取页面的url链接
- **kwargs: 控制访问的参数,共13个
**kwargs: 控制访问的参数,均为可选项
params : 字典或字节序列,作为参数增加到url中
data : 字典、字节序列或文件对象,作为Request的内容
json :JSON格式的数据,作为Request的内容
headers : 字典, HTTP定制头
cookies : 字典或CookieJar, Request中的cookie
auth : 元组,支持HTTP认证功能
get也是同上
requests.get(url, params=None, **kwargs)
- url : 拟获取页面的url链接
- params : url中的额外参数,字典或字节流格式,可选
- ∙ **kwargs: 12个控制访问的参数