`

python 的requests小结

 
阅读更多
GET 请求
>>> r = requests.get("https://httpbin.org/ip")
>>> r
<Response [200]> # 响应对象
>>> r.status_code  # 响应状态码
200

>>> r.content  # 响应内容
'{\n  "origin": "183.237.232.123"\n}\n'...


POST 请求
>>> r = requests.post('http://httpbin.org/post', data = {'key':'value'})
自定义请求头
这个经常会用到,服务器反爬虫机制会判断客户端请求头中的User-Agent是否来源于真实浏览器,所以,我们使用Requests经常会指定UA伪装成浏览器发起请求

>>> url = 'https://httpbin.org/headers'
>>> headers = {'user-agent': 'Mozilla/5.0'}
>>> r = requests.get(url, headers=headers)

参数传递
很多时候URL后面会有一串很长的参数,为了提高可读性,requests 支持将参数抽离出来作为方法的参数(params)传递过去,而无需附在 URL 后面,例如请求 url http://bin.org/get?key=val ,可使用

>>> url = "http://httpbin.org/get"
>>> r = requests.get(url, params={"key":"val"})
>>> r.url
u'http://httpbin.org/get?key=val'...

指定Cookie
Cookie 是web浏览器登录网站的凭证,虽然 Cookie 也是请求头的一部分,我们可以从中剥离出来,使用 Cookie 参数指定

>>> s = requests.get('http://httpbin.org/cookies', cookies={'from-my': 'browser'})
>>> s.text
u'{\n  "cookies": {\n    "from-my": "browser"\n  }\n}\n'...

设置超时
当发起一个请求遇到服务器响应非常缓慢而你又不希望等待太久时,可以指定 timeout 来设置请求超时时间,单位是秒,超过该时间还没有连接服务器成功时,请求将强行终止。

r = requests.get('https://google.com', timeout=5)...

设置代理
一段时间内发送的请求太多容易被服务器判定为爬虫,所以很多时候我们使用代理IP来伪装客户端的真实IP。

import requests

proxies = {
    'http': 'http://127.0.0.1:1080',
    'https': 'http://127.0.0.1:1080',
}...

r = requests.get('http://www.kuaidaili.com/free/', proxies=proxies, timeout=2)
Session
如果想和服务器一直保持登录(会话)状态,而不必每次都指定 cookies,那么可以使用 session,Session 提供的API和 requests 是一样的。

import requests...

s = requests.Session()
s.cookies = requests.utils.cookiejar_from_dict({"a": "c"})
r = s.get('http://httpbin.org/cookies')
print(r.text)
# '{"cookies": {"a": "c"}}'

r = s.get('http://httpbin.org/cookies')
print(r.text)
# '{"cookies": {"a": "c"}}'...



分享到:
评论

相关推荐

    两万字博文教你python爬虫requests库详解篇.pdf

    ### 小结 掌握 Requests 库是 Python 爬虫学习的重要一环。了解其核心概念和使用方法,可以快速构建高效的网络请求程序。同时,基础的 Python 知识是必不可少的,包括但不限于数据类型、文件操作和异常处理等。通过...

    Python程序设计:requests模块.pptx

    Python 程序设计:...小结 requests 模块是一个非常有用的工具,提供了简洁和方便的 HTTP 客户端实现。开发者可以使用 requests 模块来访问和操作 Web 服务器,满足 HTTP 测试的需求,并且可以节约大量的工作。

    python requests 使用快速入门

    #### 八、小结 通过上述介绍,相信你已经对`Requests`的基本用法有了初步了解。`Requests`不仅易于上手,而且功能强大,非常适合用于处理HTTP请求。无论是开发Web应用还是进行网络爬虫开发,掌握`Requests`都是非常...

    python结课作业.zip

    学生可能会引入和使用Python的标准库或者第三方库,如NumPy用于数值计算,Pandas用于数据处理,Matplotlib或Seaborn用于数据可视化,甚至requests库来发送HTTP请求。通过这些库,他们可以解决更复杂的问题,提高代码...

    2019的大二python结课作业.zip

    这份"2019的大二python结课作业.zip"压缩包文件,显然是一个大二学生在学习Python课程时的总结和练习,旨在帮助我们深入理解Python的基本概念和技能。其中的ljg_resource文件可能包含了这位同学的学习资源、代码示例...

    requests库详解.pdf

    Requests 库详解 Requests 库是 Python 语言编写的 HTTP 库,基于 ... 小结 Requests 库是 Python 语言中的一款功能强大且易用的 HTTP 库,提供了简洁易用的 API 和高性能的请求能力,满足了开发者的各种需求。

    实验一 Python入门与实践1

    11. **小结讨论**:在完成爬虫项目后,应总结所学,讨论遇到的反爬措施,如验证码、IP封锁等,以及如何通过技术手段如识别验证码库、动态IP池等方式应对。此外,还可以探讨知名网站的反爬策略,如Google、Facebook等...

    夜曲编程Python入门课程Pro知识点思维导图

    2. **D8数据和判断小结**:数据是程序处理的核心,Python支持多种数据类型,如整型(int)、浮点型(float)、布尔型(bool)、字符串(str)、列表(list)、元组(tuple)、字典(dict)等。同时,判断语句(if-else)是控制程序...

    Python下载的11种姿势(小结)

    1、使用requests 你可以使用requests模块从一个URL下载文件。 考虑以下代码: 你只需使用requests模块的get方法获取URL,并将结果存储到一个名为“myfile”的变量中。然后,将这个变量的内容写入文件。 2、使用...

    10个python爬虫入门实例(小结)

    `requests`库是Python中最常用的HTTP客户端库,它提供了简单易用的接口来发送HTTP请求。例如,`requests.get()`用于发送GET请求,而`requests.post()`用于发送POST请求。在实例中,我们看到如何使用这两个方法来访问...

    Python第三方库安装方式

    Python 第三方库安装方式 Python 作为一种流行的编程语言,...小结 本文介绍了 Python 第三方库的安装方式,包括使用 pip、pipenv、conda 和 Virtualenv 等方法。这些方法都可以用来安装第三方库,满足开发者的需求。

    从零开始学Python网络爬虫1

    六、小结 本节我们学习了 Python 网络爬虫的基础知识点,包括字符串格式化、爬虫原理、爬虫三大库、爬虫流程和 Requests 库的错误和异常。这些知识点是 Python 网络爬虫的基础,掌握这些知识点对于学习 Python 网络...

    Python-pipPython包和依赖关系管理

    ### 小结 pip作为Python的包管理器,极大地简化了对Python库的管理和使用。了解和熟练掌握pip的使用,对于Python开发者来说至关重要,无论是在日常开发还是项目部署中,它都能提供高效且便捷的支持。通过合理利用pip...

    Python Xpath 的使用

    文章目录Xpath 的使用lxml 库Xpath 简介Xpath 语法实例应用Xpath 节点所有节点子节点父节点属性单值匹配多值匹配多属性匹配获取属性文本获取Xpath 轴小结 Xpath 的使用 正则表达式 笔记整理 Python requests 模块 ...

    Python程序设计:多线程爬虫.pptx

    ### 小结 理解进程与线程的概念,掌握Python的`threading`模块,以及如何在爬虫中运用多线程,是提高爬虫效率的关键。在编写多线程爬虫时,需要注意线程安全问题,合理利用锁和其他同步机制,以确保数据一致性。...

    Python第三方库的几种安装方式(小结)

    安装完成后,验证是否成功的方法是在Python交互式环境中尝试导入库,如`import requests`,如果没有出现错误提示,即表示安装成功。卸载库时,如果是通过`pip`安装的,使用`pip uninstall 包名`并确认(输入`y`),...

    基于Python的两例词云实战代码与数据.zip

    了解HTTP协议和HTML结构是进行网络爬虫的基础,而Python的requests和lxml库则是实现这些功能的重要工具。 接下来,数据预处理是生成词云的关键步骤。这包括去除停用词(如“的”、“是”、“和”等常见无实际意义的...

    基于Python与spimi的新闻搜索引擎设计与实现

    2.8 小结 以上技术共同构建了新闻搜索引擎的主体部分,从数据抓取、预处理到索引构建、相似度计算,再到最终的展示,形成了一套完整的系统流程。 【搜索引擎具体实现】 3.1 课题内容实现 新闻搜索引擎项目涵盖了...

    python爬虫学习记录

    #### 四、小结 本文详细介绍了Python爬虫领域中常用的开源框架和库,包括Urllib、Requests、BeautifulSoup、PyQuery、Selenium和Scrapy等,并探讨了它们在处理网页数据时的应用。此外,还通过具体案例展示了正则...

Global site tag (gtag.js) - Google Analytics