Python中requests库的基本使用

 

介绍:使用requests可以模拟浏览器请求,requests库发送请求将网页内容下载下来后,并不会执行js代码,需要我们自己分析目标站点然后发起新的request请求
一.安装requests库

[Python] 纯文本查看 复制代码
?
1
pip3 install requests


各种请求方式:常用requests.get()和requests.post()

[Python] 纯文本查看 复制代码
?
1
2
3
import requests
r = requests.get('https://api.github.com/events')
r1 = requests.post('http://httpbin.org/post',data={'key':'value'})


二.基于GET请求

基本参数 :method,url , params , data , json , headers , cookies
其它参数 :files , auth , proxies...
1、基于GET请求(无参数)
[Python] 纯文本查看 复制代码
?
1
2
3
4
5
import requests
response = requests.get('http://dig.chouti.com/')
print(response)
print(response.text)
print(response.url)
2、带参数的GET请求-->params
[Python] 纯文本查看 复制代码
?
01
02
03
04
05
06
07
08
09
10
11
12
13
14
#请求头内将自己伪装成浏览器,否则百度不会正常返回页面内容
import requests
#在headers请求头中将自己伪装成浏览器,否则百度不会正常返回页面内容;
#将参数直接写到请求url的后面,只能用于英文和数字,中文或者其它特殊字符必须使用params参数带值过去;
response = requests.get('https://www.baidu.com/s?wd=python&pn=1',
           headers={ 'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36', })
print(response.text)
#如果出现关键词是中文或者其它特殊字符,即通过params带参数
wd = 'alck老师'
pn = 1
response_2 = requests.get('https://www.baidu.com/s', params={'wd':wd, 'pn':pn },
         headers={'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36', })
print(response_2.text)
print(response_2.url)
二.基于POST请求

1.介绍#GET请求:
   HTTP默认的请求方法就是GET,特点如下:
  没有请求体 ;
  数据必须在1K之内;
  GET请求数据会暴露在浏览器的地址栏中;#GET请求常用的操作:
    在浏览器的地址栏中直接给出URL,那么一定就是GET请求;
  点击页面上的超链接也一定是GET请求;
  提交表单时,表单默认使用GET请求,但可以设置为POST;
#POST请求
  数据不会出现在地址栏中;
   数据的大小没有上限;
  有请求体;
   请求体中如果存在中文,会使用URL编码;
requests.post()用法与requests.get()完全一致,特殊的是requests.post()有一个data参数,用来存放请求体数据。
2.发送post请求

[Python] 纯文本查看 复制代码
?
1
2
3
4
5
6
7
import requests
import json
#1、基本POST实例
url  = 'https://api.github.com/some/endpoint'
payload = {'key1':'value1','key2':'value2'}
ret  = requests.post(url=url,data = payload )
print(ret.text)


三.其他的请求方式

[Python] 纯文本查看 复制代码
?
1
2
3
4
5
6
7
8
9
requests.get(url, params=None, **kwargs)
requests.post(url, data=None, json=None, **kwargs)
requests.put(url, data=None, **kwargs)
requests.head(url, **kwargs)
requests.delete(url, **kwargs)
requests.patch(url, data=None, **kwargs)
requests.options(url, **kwargs)
# 以上方法均是在此方法的基础上构建
requests.request(method, url, **kwargs)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值