requsets模块的学习
requests模块的学习
使用之前
- pip install requests
发起get,post,请求获取响应
- response = requests.get(url,headers) # 发起get请求,请求url地址对应的响应
- response = requests.post(url,data={请求体的字典}) # 发起post请求
response的用法
- response.text
- 该方式往往会出现乱码,出现乱码使用response.encoding="utf-8"
- response.content.decode()
- 把响应的二进制字节转化为str类型
- bytes---> str
- response.request.url # 发送请求的url地址
- response.request.headers # 请求头
- response.headers # 响应头
获取网页的正确打开方式(通过下面三种获取解码之后的字符串)
- 1、response.content.decode()
- 2、response.content.decode("gbk")
- 3、response.text
发起带headers的请求
- 为了模拟浏览器,获取和浏览器一样的内容
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:66.0) Gecko/20100101 Firefox/66.0",
"Referer": "http: // acc.hnczt.gov.cn / SpaceAction.do?method = list & ntype = 3",
"Cookie": "Hm_lvt_35cde00bcde87c267839e0309e482db1 = 1554703285, 1554777297, 1554884326"
}
response = requests.get(url,headers)
使用超时参数
- pip install retrying
from retrying import retry
@retry(stop_max_attempt_number=3)
# 数字3代表的是下面的函数执行三次,有一次成功则跳过,没有一次成功则跑出异常
def func():
print("this is func")
raise ValueError("this is test error")
处理cookie相关的请求
直接携带cookie请求url地址
- 1、cookie放在headers中
headers = {
"User-Agent":"...","Cookie":"cookie字符串"
}
- 2、cookie字典传递给cookies参数
- requests.get(url, cookies=cookie_dict)
先发送post请求,获取cookie,带上cookie请求登录的页面
- 1、session = requests.session() # session具有的方法和requests一样
- 2、session.post(url, data, headers) # 服务器设置在本地的cookie存在session
- 3、session.get(url) # 会带上之前保存在session中的cookie, 能够请求成功
requsets模块的学习的更多相关文章
- python模块的学习
# time 模块 import time print(time.time()) #当前的时间挫 #time.sleep(3) #休息3秒钟,这3秒cpu不工作的 print(time.gmtime( ...
- Spark的Rpct模块的学习
Spark的Rpct模块的学习 Spark的Rpc模块是1.x重构出来可,以前的代码中大量使用了akka的类,为了把akka从项目的依赖中移除,所有添加了该模块.先看下该模块的几个主要的类 使用E ...
- retrying模块的学习
retrying模块的学习 我们在写爬虫的过程中,经常遇到爬取失败的情况,这个时候我们一般会通过try块去进行重试,但是每次都写那么一堆try块,真的是太麻烦,所以今天就来说一个比较pythonic的 ...
- AngularJs HTML DOM、AngularJS 事件以及模块的学习(5)
今天的基础就到了操作DOM,事件和模块的学习,其实我个人感觉学习起来AngularJS并没有想象中的那么的艰难,可能是因为这个太基础化吧,但是我们从初学开始就应该更加的自信一些,后来我可能会写一个小的 ...
- Python学习---重点模块的学习【all】
time [时间模块] import time # print(help(time)) # time模块的帮助 print(time.time()) # 时间戳 print(time.cloc ...
- Python模块——loguru日志模块简单学习
Python loguru模块简单学习 首先安装模块:pip install logoru,然后引入模块: from loguru import logger 1.直接输出到console logge ...
- Request模块入门学习
使用指令npm install --save request来安装模块,然后使用var request = require('request')完成引用. 对于GET请求,主要是获取目的url中数据. ...
- 网络请求 爬虫学习笔记 一 requsets 模块的使用 get请求和post请求初识别,代理,session 和ssl证书
前情提要: 为了养家糊口,为了爱与正义,为了世界和平, 从新学习一个爬虫技术,做一个爬虫学习博客记录 学习内容来自各大网站,网课,博客. 如果觉得食用不良,你来打我啊 requsets 个人觉得系统自 ...
- pump模块的学习-metamask
pump = require('pump') pump简介 https://github.com/terinjokes/gulp-uglify/blob/master/docs/why-use-pum ...
随机推荐
- [PHP]误读支付宝接口可能引发的乌龙
------------------------------------------------------------------------------------ 之所以发现这个坑,源起项目中的 ...
- 27.Hibernate-缓存和懒加载.md
目录 1.一级缓存 2.缓存的有效性 3.list和iterator缓存的区别 4.懒加载 4.1get 4.2load 1.一级缓存 Hibernate中一级缓存是Session缓存,有效范围在Se ...
- jquery之find,filter,has对比
find()方法找的是符合条件的后代,返回的是子元素. $('div').find('.intro').css('color','red'); //寻找div后代类为intro的元素 filter() ...
- jQuery.extend 与 jQuery.fn.extend
extend方法为jQuery对象的核心之一,语法如下: jQuery.extend([deep], target, object1, [objectN]),返回值Object. 概述:用一个或多个其 ...
- SpringCloud-day01-简介
1.spring cloud简介 Spring Cloud是一系列框架的有序集合.它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册.配置中心.消息总线.负载 ...
- POJ-2387.Til the Cows Come Home.(五种方法:Dijkstra + Dijkstra堆优化 + Bellman-Ford + SPFA + Floyd-Warshall)
昨天刚学习完最短路的算法,今天开始练题发现我是真的菜呀,居然能忘记邻接表是怎么写的,真的是菜的真实...... 为了弥补自己的菜,我决定这道题我就要用五种办法写出,并在Dijkstra算法堆优化中另外 ...
- python的魔术方法
什么叫魔术方法: 在python中定义以双下划线开头,有一些python自定义的函数,并且以双下划线为结尾的函数叫做魔法函数 class Company(object): def __init__(s ...
- java通过年月得到该月每一天的日期
public static List<String> getDayByMonth(int yearParam,int monthParam){ List<String> lis ...
- jenkins源码管理git分支参数化
多个分支来回切换构建时,每次都需要去很多个job里面改分支名称,比较费时,分支参数化后可以只改一处就ok啦 步骤: 1.进入系统管理--系统设置 2.勾选全局变量,然后输入分支变量名和对应的分支名称 ...
- CSS学习总结4:派生选择器学习总结
派生选择器:通过依据元素在其位置的上下文关系来定义样式,你可以使标记更加简洁.派生选择器中一共分为三种:后代选择器.子元素选择器.相邻兄弟选择器. 1.初识派生选择器 实例:你希望列表中的 stron ...