Python3学习—requests的用法

1.GET请求

import requests
data={
	'name'='gremey',
	'age'=22
}
headers={
'User-Agent':'Mo.....
}
r=requests.get("http://httpbin.org/get",params=data,headers=headers)
print(type(r.text))
print(r.json())
print(type(r.jion()))

保存二进制数据

import requests
r=requests.get("http://github.com/favicon.ico")
with open('favicon.ico','wb') as f:
	f.write(r.content)

2.POST请求

import requests
data={'name':'germey','age':'22'}
r=requests.post("http://httpbin.org/post",data=data)
print(type(r.status_code),r.status_code)
print(type(r.headers),r.headers)
print(type(r.cookies),r.cookies)
print(type(r.url),r.url)
print(type(r.history),r.history)
print(r.text)

3.文件上传

import requests
files={'file':open('fabicon.ico','rb')}
r=requests.post("http://httpbin.org/post",files=files)
print(r.text)

4.Cookies

获取Cookies:

import requests
r=requests.get("http://www.baidu.com")
print(r.cookies)
for key,value in r.cookies.items():
	print(key+'='+value)

5.会话维持

import requests

s=requests.Session()
s.get('http://httpbin.org/cookies/set/number/123456789')
r=s.get('http://httpbin.org/cookies')
print(r.text)

6.SSL证书验证

import requests
#from requests.packages import urllib3
#urllib3.disable_warnings()
#logging.captureWarnings(True)
response=requests.get('http://www.12306.cn',verify=False)
response=requests.get('http://www.12306.cn',cert=('/path/server.crt','/path/key'))
print(response.status_code)

7.代理设置

大规模爬某些网站的时候,网站可能会要客户端的认证,爬取数据量大的时候甚至会导致IP被封。这个时候就可以使用代理来解决这个问题,利用requests库发送请求中携带有代理的信息。

import requests
proxies={
	"http":"http://10.10.1.10:3128"
	"https":"https://10.10.1.10:1080"
}
requests.get("https://www.taobao.com",proxies=proxies)

或者使用SOCKS协议的代理,但需要在环境中安装socks这个库,pip install ‘requests[socks]’

import requests
proxies={
	"http":"socks5://user:password@host:post"
	"https":"socks5://user:password@host:post"
}
requests.get("https://www.taobao.com",proxies=proxies,timeout=(5,11,30))
print(r.status_code)

8.身份认证

requests自带身份认证功能,示例如下:

import requests
from requests.auth import HTTPBasicAuth
r=request.get('http://localhost:5000',auth=HTTPBasicAuth('username','password'))
#(auth=('username','password'))
print(r.status_code)

OAuth认证,需要安装oauth包,pip install request_oauthlib

import requests
from requests_oauthlib import OAuth1

url='https://www.weibo.com/'
auth=OAuth1('YOUR_APP_KEY','YOUR_APP_SECRET',
			'USER_OAUTH_TOKEN','UER_OAUTH_TOKEN_SECRET')
request.get(url,auth=auth)

9.Prepared Request

将请求表示为数据结构,其中各个参数都可以通过Requests对象来表示

from requests import Request,Session
url='http://httpbin.org/post'
data={
	'name':'germey'
}
headers={
}
s=Session()
req=Request('POST',url,data=data,headers=headers)
prepped=s.prepare_request(req)
r=s.send(prepped)
print(r.text)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python3 requests 是一个 HTTP ,可以让你以简单的方式发送 HTTP/1.1 请求。它支持 HTTP/1.1 和 HTTPS,并且对 HTTP/2 也有一些支持。使用 requests 可以方便地获取网页内容、发送 POST 和 GET 请求、上传文件、处理 cookies 等。 下面是使用 Python3 requests 的基本步骤: 1. 安装 requests : 在命令行中输入以下命令: ``` pip3 install requests ``` 2. 导入 requests : 在 Python3 代码中导入 requests : ``` import requests ``` 3. 发送 GET 请求: 使用 requests 发送 GET 请求的基本语法为: ``` response = requests.get(url) ``` 其中,url 是请求的网址,response 是服务器响应的对象。 例如: ``` import requests response = requests.get('http://www.baidu.com') print(response.text) ``` 上面的代码会发送一个 GET 请求到百度的网址,然后将服务器响应的内容打印出来。 4. 发送 POST 请求: 使用 requests 发送 POST 请求的基本语法为: ``` response = requests.post(url, data=data) ``` 其中,url 是请求的网址,data 是请求的数据,可以是字典、元组列表、JSON 等。 例如: ``` import requests data = {'username': 'test', 'password': '123456'} response = requests.post('http://www.example.com/login', data=data) print(response.text) ``` 上面的代码会发送一个 POST 请求到 http://www.example.com/login 的网址,然后将服务器响应的内容打印出来。 5. 上传文件: 使用 requests 上传文件的基本语法为: ``` response = requests.post(url, files=files) ``` 其中,url 是请求的网址,files 是要上传的文件。 例如: ``` import requests url = 'http://www.example.com/upload' files = {'file': open('example.png', 'rb')} response = requests.post(url, files=files) print(response.text) ``` 上面的代码会上传 example.png 文件到 http://www.example.com/upload 的网址,然后将服务器响应的内容打印出来。 6. 管理 cookies: 使用 requests 管理 cookies 的基本方法为: ``` import requests # 发送请求时带上 cookies cookies = {'name': 'value'} response = requests.get('http://www.example.com', cookies=cookies) # 获取响应的 cookies cookies = response.cookies ``` 上面的代码会在发送请求时带上 cookies,并在响应中获取 cookies。 以上就是使用 Python3 requests 的基本步骤。除了上面介绍的功能,requests 还支持代理、SSL 验证、连接池等高级功能,可以根据具体需求进行调用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值