GitHub代码练习地址:1.两种简单get请求方法:https://github.com/Neo-ML/PythonPractice/blob/master/SpiderPrac13_requests1.py
           2.带请求头与参数的get请求:https://github.com/Neo-ML/PythonPractice/blob/master/SpiderPrac14_requests2.py


Requests-献给人类
  
  是urllib模块的完美替换,二者功能基本相同
  HTTP for Humans,更简洁更友好
  继承了urllib的所有特征
  底层使用的是urllib3
  开源地址: https://github.com/requests/requests
  中文文档: http://docs.python-requests.org/zh_CN/latest/index.html
  安装: conda install requests
 
一、两种get请求方法:

  requests.get(url)
  requests.request("get", url)
  可以带有headers和parmas参数来请求 二、requests下使用proxy代理
       proxies = {
"http":"address of proxy",
"https": "address of proxy"
} rsp = requests.request("get", "http:xxxxxx", proxies=proxies)
代理有可能报错,如果使用人数多,考虑安全问题,可能会被强行关闭 用户验证
代理验证
可能需要使用HTTP basic Auth, 可以这样
格式为 用户名:密码@代理地址:端口地址
proxy = { "http": "china:123456@192.168.1.123:4444"}
rsp = requests.get("http://baidu.com", proxies=proxy)
web客户端验证
如果遇到web客户端验证,需要添加auth=(用户名,密码)
autu=("test1", "123456")#授权信息
rsp = requests.get("http://www.baidu.com", auth=auth) 三、requests下的cookie与session以及ssl证书相关问题
cookie
requests可以自动处理cookie信息
rsp = requests.get("http://xxxxxxxxxxx")
如果对方服务器给传送过来cookie信息,则可以通过反馈的cookie属性得到
返回一个cookiejar实例
cookiejar = rsp.cookies 可以讲cookiejar转换成字典
cookiedict = requests.utils.dict_from_cookiejar(cookiejar) session
跟服务器端session不是一个东东
模拟一次会话,从客户端浏览器链接服务器开始,到客户端浏览器断开
能让我们跨请求时保持某些参数,比如在同一个session实例发出的 所有请求之间保持cookie 创建session对象,可以保持cookie值
ss = requests.session() headers = {"User-Agetn":"xxxxxxxxxxxxxxxxxx"} data = {"name":"xxxxxxxxxxx"} 此时,由创建的session管理请求,负责发出请求,
ss.post("http://www.baidu.com", data=data, headers=headers) rsp = ss.get("xxxxxxxxxxxx") https请求验证ssl证书
参数verify负责表示是否需要验证ssL证书,默认是True
如果不需要验证ssl证书,则设置成False表示关闭 rsp = requests.get("https://www.baidu.com", verify=False)
如果用verify=True访问某些证书有问题的网站会报错。

Python爬虫9-request包介绍及应用的更多相关文章

  1. Python爬虫教程-01-爬虫介绍

    Spider-01-爬虫介绍 Python 爬虫的知识量不是特别大,但是需要不停和网页打交道,每个网页情况都有所差异,所以对应变能力有些要求 爬虫准备工作 参考资料 精通Python爬虫框架Scrap ...

  2. python爬虫之urllib库介绍

    一.urllib库 urllib是Python自带的一个用于爬虫的库,其主要作用就是可以通过代码模拟浏览器发送请求.其常被用到的子模块在Python3中的为urllib.request和urllib. ...

  3. python爬虫——论抓包的正确姿势和学好Javascript的重要性(1)

    没事想爬下数据,就入了scrapy坑,跟着https://zhuanlan.zhihu.com/data-factory这篇教程走,中间被小数量的网站坑过,不过还是写出了爬虫~~ 切糕王子:毫无防御, ...

  4. python爬虫之requests库介绍(二)

    一.requests基于cookie操作 引言:有些时候,我们在使用爬虫程序去爬取一些用户相关信息的数据(爬取张三“人人网”个人主页数据)时,如果使用之前requests模块常规操作时,往往达不到我们 ...

  5. Python爬虫之requests库介绍(一)

    一:Requests: 让 HTTP 服务人类 虽然Python的标准库中 urllib2 模块已经包含了平常我们使用的大多数功能,但是它的 API 使用起来让人感觉不太好,而 Requests 自称 ...

  6. python爬虫之protobuf协议介绍

    前言 在你学习爬虫的知识过程中是否遇到下面的类型.如果有兴趣学习一下或者了解相关知识的,且不嫌在下才疏学浅,可以参考一下.欢迎各位网友的指正. 首先叙述一下问题的会出现的式样. 你可能会在请求参数中看 ...

  7. python爬虫之requests模块介绍

    介绍 #介绍:使用requests可以模拟浏览器的请求,比起之前用到的urllib,requests模块的api更加便捷(本质就是封装了urllib3) #注意:requests库发送请求将网页内容下 ...

  8. python爬虫之scrapy框架介绍

    一.什么是Scrapy? Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架,非常出名,非常强悍.所谓的框架就是一个已经被集成了各种功能(高性能异步下载,队列,分布式,解析,持久化等) ...

  9. python爬虫之request and BeautifulSoup

    1.爬虫的本质是什么? 模仿浏览器的行为,爬取网页信息. 2.requests 1.get请求 无参数实例 import requests ret = requests.get('https://gi ...

  10. Python 爬虫之request+beautifulsoup+mysql

    一.什么是爬虫?它是指向网站发起请求,获取资源后分析并提取有用数据的程序:爬虫的步骤: 1.发起请求使用http库向目标站点发起请求,即发送一个RequestRequest包含:请求头.请求体等 2. ...

随机推荐

  1. 拇指玩」制作的「谷歌安装器」app

    作者:匿名用户链接:https://www.zhihu.com/question/57468448/answer/153000587来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请 ...

  2. Eureka源码分析:Eureka不会进行二次Replication的原因

    Eureka不会进行二次同步注册信息 Eureka会将本实例中的注册信息同步到它的peer节点上,这是我们都知道的特性.然而,当peer节点收到同步数据后,并不会将这些信息再同步到它自己的peer节点 ...

  3. C语言gets雨scanf函数的用法

    /*1.不同点: scanf不能接受空格.制表符Tab.回车等: 而gets能够接受空格.制表符Tab和回车等: 2.相同点:  字符串接受结束后自动加'\0'. 使用scanf("%s&q ...

  4. Java 读书笔记 (十四) Java 方法

    finalize() 方法 finalize() 用来清除回收对象.  //为什么要回收内存?怎样写可以避免内存过多占用?什么时候需要手动回收内存? protected void finalize() ...

  5. 电脑开机失败提示"用户配置文件服务登录失败"的三种解决办法

    最近遇到这样一个怪现象,就是每次打开电脑输入密码,突然提示"User Profile Service 服务未能登录,无法加载用户配置文件",然后就没办法正常开机了,为什么会这样呢? ...

  6. I/O-----字符输入流

    今天学习了字符流  ,果不其然又和以前的搞混了 package io.day04; import java.io.FileReader; import java.io.FileWriter; impo ...

  7. 深入理解Java:内省(Introspector)

    深入理解Java:内省(Introspector) 内省(Introspector) 是Java 语言对 JavaBean 类属性.事件的一种缺省处理方法. JavaBean是一种特殊的类,主要用于传 ...

  8. luoguP2526_[SHOI2001]小狗散步_二分图匹配

    luoguP2526_[SHOI2001]小狗散步_二分图匹配 题意: Grant喜欢带着他的小狗Pandog散步.Grant以一定的速度沿着固定路线走,该路线可能自交.Pandog喜欢游览沿途的景点 ...

  9. Ubuntu下安装mysql与mysql workbench

    Ubuntu 安装jdk:[链接] Ubuntu安装eclipse:[链接] Ubuntu下安装MySQL与mysql workbench:[链接] Ubuntu配置tomcat9:[链接] 1.su ...

  10. Postman----request的body中实现数据驱动

    使用场景: 一个接口多次执行,要求body中的某个参数在每次运行时都要填写不同的值,根据不同值的传入,返回不同的结果 参考示例:通过接口测试创建5条待办名称不一样的待办事项.名称格式不作要求 解决方法 ...