02-requests模块的概述

什么是requests模块
官方文档:https://requests.readthedocs.io/en/master/

  • requests模块是python中原生的基于网络请求的模块,其主要作用是用来模拟浏览器发起请求。功能强大,用法简洁高效。在爬虫领域中占据着半壁江山的地位。
  • 为什么要使用requests模块
    因为在使用urllib模块的时候,会有诸多不便之处,总结如下:
  • 手动处理url编码
  • 手动处理post请求参数
  • 处理cookie和代理操作繁琐

  • 使用requests模块:
  • 自动处理url编码
  • 自动处理post请求参数
  • 简化cookie和代理操作

    如何使用requests模块
    安装:
pip install requests

使用流程

  • 指定url
  • 基于requests模块发起请求
  • 获取响应对象中的数据值
  • 持久化存储

response的常用属性

  • response.text 响应体 str类型
  • respones.content 响应体 bytes类型
  • response.status_code 响应状态码
  • response.request.headers 响应对应的请求头
  • response.headers 响应头
  • response.request.cookies 响应对应请求的cookie
  • response.cookies 响应的cookie(经过了set-cookie动作)
    Requests库中有7个主要的函数
    分别是 request() 、get() 、 head() 、post() 、put() 、patch() 、delete() 。这七个函数中request()函数是其余六个函数的基础函数,其余六个函数的实现都是通过调用该函数实现的。

方法 说明

  • requests.request() 构造一个请求,支撑一下方法的基础方法
  • requests.get() 获取HTML网页的主要方法,对应于HTTP的GET(请求URL位置的资源)
  • requests.head() 获取HTML网页头信息的方法,对应于HTTP的HEAD(请求URL位置的资源的头部信息)
  • requests.post() 向HTML网页提交POST请求的方法,对应于HTTP的POST(请求向URL位置的资源附加新的数据)
  • requests.put() 向HTML网页提交PUT请求的方法,对应于HTTP的PUT(请求向URL位置储存一个资源,覆盖原来URL位置的资源)
  • requests.patch() 向HTML网页提交局部修改的请求,对应于HTTP的PATCH(请求局部更新URL位置的资源)
  • requests.delete() 向HTML网页提交删除请求,对应于HTTP的DELETE(请求删除URL位置储存的资源)
    而这几个函数中,最常用的又是 requests.get() 函数。get函数有很多的参数,我只举几个比较常用的参数

参数 说明

  • url 就是网站的url
  • params 将字典或字节序列,作为参数添加到url中,get形式的参数
  • data 将字典或字节序列,作为参数添加到url中,post形式的参数
  • headers 请求头,可以修改User-Agent等参数
  • timeout 超时时间
  • proxies 设置代理
# -*- coding: utf-8 -*-
import requests #调用requests模块
from lxml import etree #调用html解析
from Chaojiying_Python import chaojiying #调用超级鹰打码平台
import time # 调用时间模块







headers = {
   
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36"

} #模仿浏览器UA头

session = requests.Session()# 动态获取cookie
# 识别验证码
url ="https://so.gushiwen.cn/user/login.aspx?from=http://so.gushiwen.cn/user/collect.aspx"
page_text = session.get(url=url,headers=headers).text
# 解析验证码图片
tree = etree.HTML(page_text)
img_src = "https://so.gushiwen.cn/"+tree.xpath('//*[@id="imgCode"]/@src')[0]
# 将验证码图片保存到本地
img_data = session.get(img_src,headers=headers).content
with 
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值