python爬虫,requests库的安装及七个方法

本文介绍了Python爬虫中requests库的安装过程,并详细解析了get、head、post、put、patch、delete以及request这七个主要方法的用法,包括各方法的参数及其在HTTP请求中的作用。
Python3.8

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本


  • 1、requests库的安装:

windows平台以管理员身份运行cmd,执行pip install requests
在这里插入图片描述
测试安装结果:

import requests
>>> r=requests.get("http://www.baidu.com")
>>> r.status_code
200
>>> r.encoding="utf-8"
>>> r.text

在这里插入图片描述


  • 2、requests库的七个主要方法及说明:

方法说明
requests.request()构造一个请求,支持以下各个方法的基础方法
requests.get()获取HTML网页的主要方法,对应与HTTP的GET
requests.head()获取HTML网页的头部信息,对应于HTTP的HEAD
requests.post()向HTML网页提交的POST请求的方法,对应于HTTP的POST
requests.put()向HTML网页提交的PUT请求的方法,对应于HTTP的PUT
requests.patch()向HTML网页提交的局部修改请求,对应于HTTP的PATCH
requests.delete()想HTML网页提交的删除请求,对应于HTTP中的DELETE

(1) get()方法:
requests.get(url,params=None, kwargs)
∙ url: 拟获取页面的url链接
∙ params: url中的额外参数,字典或字节流格式,可选
kwargs: 12个控制访问的参数
构造一个向服务器请求资源的Request对象
返回一个包含服务器资源的Response对象
Response对象返回包含爬虫返回的内容
使得url带有参数,使得服务器利用参数筛选
requests.get(url,params=None, kwargs)
∙ url: 拟获取页面的url链接
∙ params: url中的额外参数,字典或字节流格式,可选
kwargs: 12个控制访问的参数
get方法:

>>> import requests
>>> kv={'key1':'value1','key2':'value2'}
>>> r=requests.request('GET','http://python123.io/ws',params=kv)
>>> print(r.url)
https://python123.io/ws?key1=value1&key2=value2
>>> 

(2)Requests库的head()方法
requests.head(url,kwargs)
∙ url: 拟获取页面的url链接
kwargs: 12个控制访问的参数

>>> r.requests. head(‘http : //httpbin. org/get’)
>>> r. headers
{'Content-Length': '238'. ‘Access-Control-Allow-Origin':'*','Access-
Control-Allow-Credentials':'true','Content-Type':
'appllcation/json','Server':'nginx','Connection’:'Keep-alive’,
'Date':'Sat,18 Feb 2017 1207:44 GMT'}
> > > r. text

在这里插入图片描述
(3)Requests库的post()方法
requests.post(url,data=None, json=None, **kwargs)
∙ url: 拟更新页面的url链接
∙ data : 字典、字节序列或文件,Request的内容
∙ json: JSON格式的数据,Request的内容
∙****kwargs: 12个控制访问的参数

>>> payload={'key1':'vaıue1','key2':'value2'}
>>> r = requests. post(‘http : //httpbin. org/post’, data=payload)
>>> print(r.text)
{…
"form”:{                           #向URL POST一个字典
" key2":”value2",                   # 自动编码为form(表单)
" key1":"value1"
},
}

*(4)Requests库的put()方法
requests.put(url,data=None, **kwargs)
∙ url: 拟更新页面的url链接
∙ data : 字典、字节序列或文件,Request的内容
∙ *kwargs: 12个控制访问的参数

>>> payload={'key1':'vaıue1','key2':'value2'}
>>> r = requests. put(‘http : //httpbin. org/post’, data=payload)
>>> print(r.text)
{…
"form”:{                           
" key2":”value2",                    
" key1":"value1"
},
}

(5)requests.patch(url,data=None, **kwargs)
∙ url: 拟更新页面的url链接
∙ data : 字典、字节序列或文件,Request的内容
∙ **kwargs: 12个控制访问的参数
(6)requests.delete(url,kwargs)
∙ url: 拟删除页面的url链接
kwargs: 12个控制访问的参数

(5)Requests库的request()方法
Requests.request(method,url,**kwargs)
Method:请求方式,对应get/put/post等7种
url:拟获取页面的url链接
**kwargs:控制访问的参数,共13个
Requests.request(method,url,**kwargs)
**kwargs:控制访问的参数,均为可选项

  • Params:字典或字节序列,作为参数增加到url中
>>> kv={'key1':'value1','key2':'value2'} 
>>> r=requests.request('GET','http://python123.io/ws',params=kv)
>>> print(r.url) 
http://python123.io/ws?key1=value1&key2=value2
  • Data:字典、字节序列或文件对象,作为request的内容
>>> kv={'key1':'value1','key2':'value2'} 
>>> r=requests.request('POST','http://python123.io/ws',data=kv) 
>>> body='主体内容' 
>>> r=requests.request('POST','http://python123.io/ws',data=body)
  • Json:json格式的数据,作为request的内容
>>> kv={'key1':'value1'} 
>>> r=requests.request('POST','http://python123.io/ws',json=kv)
  • Headers:字典,http定制头
>>> hd={'user‐agent':'Chrome/10'} 
>>> r=requests.request('POST','http://python123.io/ws',headers=hd)
  • Cookies:字典或cookiejar,request中的cookie
  • Auth:元组,支持http认证功能
  • Files:字典类型,传输文件
>>> fs={'file':open('data.xls','rb')} 
>>> r=requests.request('POST','http://python123.io/ws',files=fs)
  • Timeout:设定超时时间,秒为单位
>>> r=requests.request('GET','http://www.baidu.com',timeout=10)
  • Proxies:字典类型,设定访问代理服务器,可以增加登陆认证
>>> pxs={'http':'http://user:pass@10.10.10.1:1234' 'https':'https://10.10.10.1:4321'} 
>>> r=requests.request('GET','http://www.baidu.com',proxies=pxs)

allow_redirects: True/False,默认为True,重定向开关

  • stream : True/False,默认为True,获取内容立即下载开关
  • verify : True/False,默认为True,认证SSL证书开关
  • cert : 本地SSL证书路径

Method: 请求方式
R=requests.request(‘GET’.url,**kwargs)
R=requests.request(‘HEAD’.url,**kwargs)
R=requests.request(‘POST’.url,**kwargs)
R=requests.request(‘PUT’.url,**kwargs)
R=requests.request(‘PATCH’.url,**kwargs)
R=requests.request(‘delete’.url,**kwargs)
R=requests.request(‘OPTIONS’.url,**kwargs)

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值