Requests的介绍:
最近在找代码看,在github上找到一个http的库,阅读了一部分api和源代码,此文记录下.
在python下,自带了urlib2的类似的库,但是作者觉得写的不好用,不够优雅,于是自己搞了个Requests出来.号称"HTTP FOR HUMAN",哈哈.
看基本的代码,的确要简洁很多.关于对比,在github上有一段有趣的讨论,可以看看.
https://gist.github.com/973705
话说,github是程序员的社区,可以多多关注.
文档重要内容记录:
文档链接:http://docs.python-requests.org/en/latest/
API:http://docs.python-requests.org/en/latest/api/
大部分看官方文档就可以了,写的很是清楚了.
例子中讲了get,post,options等操作.cookie,response的编码问题.
需要区分response.text和response.content的区别.
A session object has all the methods of the main Requests API.
Sessions can also be used to provide default data to the request methods.
s = requests.Session()
s.auth = ('user', 'pass')
s.headers.update({'x-test': 'true'})
# both 'x-test' and 'x-test2' are sent
s.get('http://httpbin.org/headers', headers={'x-test2': 'true'})
Any dictionaries that you pass to a request method will be merged with the session-level values that are set. The method-level parameters override session parameters.
Requests.request方法返回的response对象中包含了创建的request.
通过stream,可以在拿到头的时候,判断是否要继续下载response的body部分.
代理的运用:
使用hook,可以在请求返回时,调用相应的function,这个跟ajax的回调类似.目前支持的钩子仅仅为response(即响应返回时)
自定义认证方式:
Any callable which is passed as the auth argument to a request method will have the opportunity to modify the request before it is dispatched.
作者关于Requests的演讲稿:http://python-for-humans.heroku.com/#1
其他知识点:
在阅读代码过程中,了解如何安装包(用pip或者easy_install命令,会直接下载安装),以及setup.py的作用.
以及__init__.py的作用是:表明此目录应该被作为一个package来处理,对于import很多package很有用.
源代码解读:
源代码才看完sessions.py相关的代码.后面等全部看完了,再做个总结.
Requests中的关于认证部分:
httpBasicAuth(基本认证):http://zh.wikipedia.org/wiki/HTTP%E5%9F%BA%E6%9C%AC%E8%AE%A4%E8%AF%81
HttpDegistAuth(摘要认证):http://zh.wikipedia.org/wiki/HTTP%E6%91%98%E8%A6%81%E8%AE%A4%E8%AF%81
两者的区别是安全性上,前者是提供明文的用户名密码信息.后者使用随机数,MD5加密以及qop等来指定加密级别.在Requests的代码中可以看到是按照该规范来进行实现的.
分享到:
相关推荐
Python Requests库是Python编程语言中一个用于发送HTTP请求的第三方库。由于其简单易用的特性,它非常适合网络爬虫初学者使用。...通过学习和使用Requests库,初学者可以在网络爬虫领域迈出扎实的第一步。
在自动化学习和测试工程师领域中,Requests 库是一个非常重要的工具。 Requests 库的安装 ----------------- 要使用 Requests 库,首先需要安装它。可以使用 pip 进行安装: ``` pip install requests ``` 安装...
python需要的requests库,需要就拿走吧,不用谢,有正在学PYTHON的来一起学习啊
通过学习本文介绍的基本概念和方法,你可以快速掌握如何使用Requests库来构建高效的网络爬虫。在实际开发中,还需注意合理设置请求频率、避免被目标网站封禁等问题。希望本文能为你开启Python网络爬虫的大门!
为学习爬虫requests库的同学们,留下的尝试代码。方便大家学习与尝试。
标题 "Requests库爬取个人的所有Git项目" 描述了如何使用Python中的Requests库来抓取个人在GitHub上的所有项目信息。Requests库是Python中最常用的HTTP客户端库,它使得发送HTTP请求变得异常简单。在这个实验中,...
- **深度学习链接**: 对于希望深入了解requests库的读者,可以参考这篇文章进行深入学习:[https://www.jianshu.com/p/2065f0292de6](https://www.jianshu.com/p/2065f0292de6)。此链接提供了关于requests库更为详尽...
掌握 Requests 库是 Python 爬虫学习的重要一环。了解其核心概念和使用方法,可以快速构建高效的网络请求程序。同时,基础的 Python 知识是必不可少的,包括但不限于数据类型、文件操作和异常处理等。通过实践,你...
Requests是Python中一个非常流行的HTTP库,...通过深入学习和实践,你可以利用Requests库轻松地处理各种HTTP任务。为了了解更多详细信息,可以参考Requests的官方文档:https://cn.python-requests.org/zh_CN/latest/。
在这个教程中,我们将会深入学习requests库的核心功能,包括发起GET和POST请求、处理响应、设置请求头、处理cookies以及处理认证等关键知识点。 1. **发起GET请求**:GET是最常见的HTTP请求方法,用于获取资源。在...
Python与深度学习基础作业1,利用PyQt5,以桌面GUI为载体,requests库为爬虫手,_Python_hw1.zip段,_Python_hw1
Go-Requests库通过封装这些底层功能,使得开发者可以更快速、更直观地完成HTTP请求,降低了学习和使用成本。 Go-Requests的主要特性包括: 1. **简单易用的API**:它提供了与Python requests类似的接口,如Get、...
如果你选择下载这个压缩包,你可以获取到 `requests` 的最新源代码,这对于学习、调试或者定制模块功能非常有用。同时,发布者保证压缩包没有后门,用户可以放心使用。 在压缩包中,文件名 "kennethreitz-requests-...
本课程主题“接口测试-03课-接口自动化思维梳理及Requests库应用”旨在帮助学员构建系统的接口测试思路,并深入学习Requests库在实际工作中的应用。 首先,接口测试是一种针对应用程序API(Application Programming...
在Python的世界里,...通过深入研究`requests`库的源码,我们不仅可以了解HTTP通信的细节,还能学习到如何编写更pythonic的代码,提高代码质量和可维护性。对于任何Python开发者来说,这都是一次宝贵的学习机会。
在这篇资源中,我们将介绍如何使用Python中的requests库进行微博热搜数据的采集与分析。通过简单的代码示例,你将了解如何抓取微博热搜的实时数据,以及如何利用Jieba分词库进行文本分析。本文将详细讲解从数据采集...
在Python的世界里,requests库已经成为了进行网络数据获取的标准工具。 在Python中,内置的urllib系列库虽然可以完成HTTP请求,但其使用相对复杂,而requests库则通过提供更加直观和人性化的接口,降低了网络请求的...
本示例案例将详细介绍如何使用两个流行的Python库——`requests`和`BeautifulSoup`来实现网页抓取。 首先,`requests`库是Python中用于发送HTTP请求的库,它可以方便地获取网页的HTML或JSON等格式的原始数据。安装`...
通过这本书的学习,读者不仅可以掌握Requests库的使用,还能深入理解HTTP协议,为进行网络编程和数据抓取打下坚实的基础。同时,高清且带有书签的版本使得学习过程更为高效,可复制的文本则方便了代码实践和笔记整理...
文章目录Python爬虫(二)—— requests库实践 ——1.京东商品页面的爬取2. 实例3:百度360搜索关键词提交3. 网络图片的爬取和存储 1.京东商品页面的爬取 import requests url = ...