python爬虫(一) ------ request讲义

Requests

作用:发送网络请求,获得响应数据

官方文档:https://requests.readthedocs.io/zh_CN/latest/index.html

Requests是用python语言基于urllib编写的,采用的是Apache2 Licensed开源协议的HTTP库

它比urllib更加方便,可以节约大量的工作,完全满足HTTP测试需求的库

⼀句话——Requests是一个Python代码编写的HTTP请求库,方便在代码中模拟浏览器发送http请求

安装命令:pip install requests

一,Requests请求

1,实例引入

# https://www.baidu.com/
import requests

response = requests.get('https://www.baidu.com/')
print(response)  # 响应体对象(响应源码+响应状态码+响应URL)
print(response.text)  # 查看响应体内容

print(type(response.text))  # 查看响应内容的数据类型

print(response.status_code)  # 查看响应状态码
print(response.url)

2,各种请求方式

requests.get('http://httpbin.org/get')   # GET请求
requests.post('http://httpbin.org/post')  # POST请求
requests.put('http://httpbin.org/put')
requests.delete('http://httpbin.org/delete')
requests.head('http://httpbin.org/get')
requests.options('http://httpbin.org/get')

3.1,基于get请求

1.基本写法

# 测试网站:http://httpbin.org/get
url = 'http://httpbin.org/get'  # 目标站点
r = requests.get(url)
print(r.status_code)
print(r.text)
print(type(r.text))

2.带参数的get请求

# 测试网站:http://httpbin.org/get
# 第一种写法
# https://www.baidu.com/s?wd=%E4%B8%AD%E5%9B%BD&pn=0&oq=%E4%B8%AD%E5%9B%BD&ie=utf-8&usm=6&fenlei=256&rsv_idx=1&rsv_pq=a1e3d64c000d24b8&rsv_t=a275rbOHpNWKXTdaXGjTAG6uADWzJfkIijwnQpMSUN4WqOcOki9o0nvbRrw
url= 'http://httpbin.org/get?age=12&name=lisi'
r = requests.get(url)
print(r.status_code)
print(r.text)
# 推荐写法
# 把参数单独构建在字典
d = {
    'name':'lisi',
    'age':10 
}
url = 'http://httpbin.org/get'
r = requests.get(url,params=d)   # params:携带get请求参数的
print(r.text)

3.2,基于post请求

# http://httpbin.org/post
url ='http://httpbin.org/post'  
d = {
    'name':'lisi',
    'age':10 
}
r = requests.post(url,data = d)  # data参数作用是携带post请求的参数的
print(r.text)

4,获取json数据

import requests
import json

url = 'http://httpbin.org/get'
r = requests.get(url)
# print(r.status_code)  # 查看响应状态码
a = r.text
# print(a)   
# print(type(a))  # 查看数据类型

dict_data = json.loads(a)
# print(dict_data)
# print(type(dict_data)) 
res = dict_data['headers']['Host']
# print(res)

json_data = r.js
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值