Python之 requests的使用(一)

目录
  • ️ requests的使用(一)
  • 1.准备工作
    • pip 安装
    • 验证安装
  • 2.实例引入
  • 3.get()请求
    • 基本实例
  • 4.post()请求
  • 5.响应
  • 总结

️ requests的使用(一)

大家好,今天就来说说requests的基础用法。requests是一个很实用的Python HTTP客户端库,爬虫和测试服务器响应数据时经常会用到,requests是Python语言的第三方的库,专门用于发送HTTP请求,使用起来比urllib简洁很多。

1.准备工作

首先呢,我们要确保我们已经之前安装requests库,如果没有安装,按照下面步骤按照库。

pip 安装

无论是 Windows、Linux 还是 Mac,都可以通过 pip 这个包管理工具来安装。

在命令行下运行如下命令即可完成 requests 库的安装:

pip3 install requests

这是最简单的安装方式,推荐此种方法安装。

验证安装

为了验证库是否已经安装成功,可以在命令行下测试一下:

import requests

res = requests.get('https://www.baidu.com/')

print(res)

输入如上内容,如果什么错误提示也没有,那么就证明我们已经成功安装了 requests。

2.实例引入

requests库请求网页用到的是get()方法,下面通过实例来看一下。

import requests

res = requests.get('https://www.baidu.com/')

print(type(res))

print(res)

print(res.text)

print(res.cookies)
 

这里我们调用get()方法实现,得到一个response对象,然后分别输出response的类型,状态码,内容以及cookies。

使用get()方法成功实现一个get()请求这不算什么,更方便的请求还有其他的。比如post(),put()等等。

3.get()请求

HTTP最常见的请求之一就是GET请求,下面我们首先先来了解一下利用requests构建GET的方法

基本实例

首先,我们构建一个最简单的get请求,请求的链接如下,该网站会判断如果用户发起的的是get请求的话,它就会返回响应的请求信息

import requests

res = requests.get('http://httpbin.org/get')

print(res.text)

运行的结果如下:

{
  "args": {},
  "headers": {
    "Accept": "*/*",
    "Accept-Encoding": "gzip, deflate",
    "Host": "httpbin.org",
    "User-Agent": "python-requests/2.27.1",
    "X-Amzn-Trace-Id": "Root=1-637ae5d7-35da1bf57b139d152585d12a"
  },
  "origin": "223.215.67.113",
  "url": "http://httpbin.org/get"
}

可以发现,我们成功发起了get请求,返回结果中包含请求头,url,IP等信息。

那么,对于GET请求,如果我们想要附加额外信息,一般怎么添加呢?比如讲,现在想添加两个参数,其中name是Tina,age是18。要构造这个请求链接,是不是可以直接写成:

r = requests.get('http://httpbin.org/get?name=Tina&age=18')

这样也是可以的,我们还可以通过字典来构造。利用params这个参数就好了。

import requests

data = {

    'name':'Tina',

    'age':'18'
    }

res = requests.get('http://httpbin.org/get',params = data)

print(res.text)

运行结果如下:

{
  "args": {
    "age": "18",
    "name": "Tina"
  },
  "headers": {
    "Accept": "*/*",
    "Accept-Encoding": "gzip, deflate",
    "Host": "httpbin.org",
    "User-Agent": "python-requests/2.27.1",
    "X-Amzn-Trace-Id": "Root=1-637ae902-695483e87b26b3ad49d15df7"
  },
  "origin": "223.215.67.113",
  "url": "http://httpbin.org/get?name=Tina&age=18"
}

通过运行结果判断,请求的链接自动变成了带有后缀的链接。

另外,网页返回的类型实际上是str,但是它是json()格式的,我们可以用json返回一个字典。如果不是json格式,使用json就会报错,抛出json.decoder.JSONDecodeError异常。

4.post()请求

上面我们了解了最基本的get请求,另外一种比较常见的请求方式就是post()。使用requests实现post请求也是非常简单,示例如下。

import requests

res = requests.post('http://httpbin.org/post')

print(res.text)

运行之后就会发现得到了结果,就说明我们post请求成功。

5.响应

发送请求,之后得到的肯定就是响应。除了text,还有状态码,响应头,cookies等等。

requests 库可以用来发送 HTTP 请求并获取响应。当你发送一个 HTTP 请求时,你会得到一个 Response 对象,它包含了从服务器返回的所有数据。Response 对象有以下属性:

status_code:HTTP 状态码,表示服务器的响应状态。
headers:一个字典,其中包含了从服务器返回的所有头部信息。
body:一个字节串,包含了从服务器返回的所有数据。

总结

requests是一个很实用的Python HTTP客户端库,爬虫和测试服务器响应数据时经常会用到,requests是Python语言的第三方的库,专门用于发送HTTP请求,使用起来比urllib简洁很多。

本文我们说了requests的简单用法,知道了如何发送请求,下一篇我们更深层次的来学习requests。我们看看高级一点的操作,比如讲文件上传,cookies设置,代理设置之类的。

到此这篇关于Python之 requests的使用(一)的文章就介绍到这了,更多相关Python requests的使用内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • python爬虫之requests库使用代理方式

    目录 安装上requests库 GET方法 谷歌浏览器的开发者工具 POST方法 使用代理 在看这篇文章之前,需要大家掌握的知识技能: python基础 html基础 http状态码 让我们看看这篇文章中有哪些知识点: get方法 post方法 header参数,模拟用户 data参数,提交数据 proxies参数,使用代理 进阶学习 安装上requests库 pip install requests 先来看下帮助文档,看看requests的介绍,用python自带的help命令 import

  • Python中requests.session()的用法小结

    目录 session定义 session使用实例 参考文献 可能大家对 session 已经比较熟悉了,也大概了解了session的机制和原理,但是我们在做爬虫时如何会运用到session呢,就是接下来要讲到的会话保持. 首先说一下,为什么要进行会话保持的操作? session定义 requests库的session会话对象可以跨请求保持某些参数,说白了,就是比如你使用session成功的登录了某个网站,则在再次使用该session对象请求该网站的其他网页都会默认使用该session之前使用的c

  • python使用requests实现发送带文件请求功能

    目录 1. requests发送文件功能 2. requests发送多个文件请求 3. Django 接收文件 1. requests发送文件功能 Requests 使得上传多部分编码文件变得很简单 url = 'http://httpbin.org/post' files = {'file': open('D:/APPs.png', 'rb')} r = requests.post(url, files=files) print(r.text) 你可以显式地设置文件名,文件类型和请求头: ur

  • Python基础第三方模块requests openpyxl

    目录 一.第三方模块的下载与使用 1.什么是第三方模块 2.如何安装第三方模块 方式一:pip工具 方式二:pycharm中下载 3.注意事项 1.报错并有警告信息 2.报错,提示关键字 3.报错,无关键字 4.下载速度慢 二.网络爬虫之requests模块 1.简介 2.使用方法 1.关键词:get( ) 2.关键词:encoding 3.关键词:content 4.关键词:text 5.关键词:url 6.关键词:status_code 三.网络爬虫实战 1.爬取链家网站房屋信息 四.ope

  • python3中requests库重定向获取URL

    前言: 有时候 我们抓取一些页面,发现一些url 有重定向, 返回 301 ,或者302 这种情况. 那么我们如何获取真实的URL呢? 或者跳转后的URL呢? 这里我使用 requests 作为演示 假设我们要访问 某东的电子商务网站,我只记得网站好像是 http://jd.com import requests def request_jd(): url = 'http://jd.com/' #allow_redirects= False 这里设置不允许跳转 response = reques

  • python使用requests库提交multipart/form-data请求的方法详解

    目录 前言 multipart/form-data Python 发送 multipart/form-data 补充知识:multipart/form-data 参数转码 总结 前言 今天渗透测试的时候,发现一个接口可以越权遍历出用户的敏感信息,然后想编写python脚本将所有信息都给dump下来.当我查看请求数据的时候,是如下这样的.不同于之前的请求数据是json可以直接使用data然后封装成字典就可以进行发送请求 这里的content-type是 multipart/form-data mu

  • python中requests使用代理proxies方法介绍

    学习网络爬虫难免遇到使用代理的情况,下面介绍一下如何使用requests设置代理: 如果需要使用代理,你可以通过为任意请求方法提供 proxies 参数来配置单个请求: import requests proxies = { "http": "http://10.10.1.10:3128", "https": "http://10.10.1.10:1080", } requests.get("http://examp

  • python中requests爬去网页内容出现乱码问题解决方法介绍

    最近在学习python爬虫,使用requests的时候遇到了不少的问题,比如说在requests中如何使用cookies进行登录验证,这可以查看这篇文章.这篇博客要解决的问题是如何避免在使用requests的时候出现乱码. import requests res=requests.get("https://www.baidu.com") print res.content 以上就是使用requests进行简单的网页请求数据的方式.但是很容易出现乱码的问题. 我们可以通过在网页上右击查看

  • python采用requests库模拟登录和抓取数据的简单示例

    如果你还在为python的各种urllib和urlibs,cookielib 头疼,或者还还在为python模拟登录和抓取数据而抓狂,那么来看看我们推荐的requests,python采集数据模拟登录必备利器! 这也是python推荐的HTTP客户端库: 本文就以一个模拟登录的例子来加以说明,至于采集大家就请自行发挥吧. 代码很简单,主要是展现python的requests库的简单至极,代码如下: s = requests.session() data = {'user':'用户名','pass

  • python中requests库session对象的妙用详解

    在进行接口测试的时候,我们会调用多个接口发出多个请求,在这些请求中有时候需要保持一些共用的数据,例如cookies信息. 妙用1 requests库的session对象能够帮我们跨请求保持某些参数,也会在同一个session实例发出的所有请求之间保持cookies. 举个栗子,跨请求保持cookies,在命令行上输入下面命令: # 创建一个session对象 s = requests.Session() # 用session对象发出get请求,设置cookies s.get('http://ht

  • python中requests模块的使用方法

    本文实例讲述了python中requests模块的使用方法.分享给大家供大家参考.具体分析如下: 在HTTP相关处理中使用python是不必要的麻烦,这包括urllib2模块以巨大的复杂性代价获取综合性的功能.相比于urllib2,Kenneth Reitz的Requests模块更能简约的支持完整的简单用例. 简单的例子: 想象下我们试图使用get方法从http://example.test/获取资源并且查看返回代码,content-type头信息,还有response的主体内容.这件事无论使用

  • python中requests小技巧

    关于  Python requests ,在使用中,总结了一些小技巧把,记录下. 1:保持请求之间的Cookies,我们可以这样做. 2:请求时,会加上headers,一般我们会写成这样 唯一不便的是之后的代码每次都需要这么写,代码显得臃肿,所以我们可以这样: 3:默认requests请求失败后不会重试,但是我们跑case时难免遇到一些网络或外部原因导致case失败,我们可以在Session实例上附加HTTPAdapaters 参数,增加失败重试次数. 这样,之后的请求,若失败,重试3次. 4:

  • python中requests和https使用简单示例

    requests 是一个非常小巧全面的库,应用它可以很容易写出与服务器进行交互的程序,今天遇到了一个问题,与服务器交互时,url都是https开头的,都进行了ssl加密处理,这样一来,就不能像之前那样访问http开头的url那样进行处理了. 查了一些资料,可以配置ssl进行验证的文件,方式如下 res = requests.get('https://127.0.0.1:5503/login',cert=('./server.crt', './server.key.unsecure')) 可运行后

  • Python使用requests及BeautifulSoup构建爬虫实例代码

    本文研究的主要是Python使用requests及BeautifulSoup构建一个网络爬虫,具体步骤如下. 功能说明 在Python下面可使用requests模块请求某个url获取响应的html文件,接着使用BeautifulSoup解析某个html. 案例 假设我要http://maoyan.com/board/4猫眼电影的top100电影的相关信息,如下截图: 获取电影的标题及url. 安装requests和BeautifulSoup 使用pip工具安装这两个工具. pip install

  • Python使用requests发送POST请求实例代码

    本文研究的主要是Python使用requests发送POST请求的相关内容,具体介绍如下. 一个http请求包括三个部分,为别为请求行,请求报头,消息主体,类似以下这样: 请求行 请求报头 消息主体 HTTP协议规定post提交的数据必须放在消息主体中,但是协议并没有规定必须使用什么编码方式.服务端通过是根据请求头中的Content-Type字段来获知请求中的消息主体是用何种方式进行编码,再对消息主体进行解析.具体的编码方式包括: application/x-www-form-urlencode

  • 用python的requests第三方模块抓取王者荣耀所有英雄的皮肤实例

    本文使用python的第三方模块requests爬取王者荣耀所有英雄的图片,并将图片按每个英雄为一个目录存入文件夹中,方便用作桌面壁纸 下面时具体的代码,已通过python3.6测试,可以成功运行: 对于所要爬取的网页连接可以通过王者荣耀官网找到, # -*- coding: utf-8 -*- """ Created on Wed Dec 13 13:49:52 2017 @author:KillerTwo """ import request

随机推荐