python爬虫04 Requests
接下来我们要来玩一个新的库
这个库的名称叫做
Requests
这个库比我们上次说的 urllib 可是要牛逼一丢丢的
毕竟 Requests 是在 urllib 的基础上搞出来的
通过它我们可以用更少的代码
模拟浏览器操作
kr
对于不是 python 的内置库
我们需要安装一下
直接使用 pip 安装
pip install requests
安装完后就可以使用了
接下来就来感受一下 requests 吧
导入 requests 模块
import requests
#一行代码get请求
#r=requests.get('https://api.github.com/events')
#r=requests.get('https://http://www.baidu.com')
r=requests.get('http://biihu.cc//account/ajax/login_process/')
#一行代码Post请求
r=requests.get("https://api.github.com/events",data={'key':'value'}
)
#其它乱七八槽的HTTP请求
r=requests.put('https://httphin.org/put',data={'key':'value'})
r=requests.delete('https://httpbin.org/delete')
r=requests.head('https://httpbin.org/get')
r=requests.options('https://httpbin.org/get')
payload={'key1':'value1','key2':'value2'}
r=requests.get('https://httpbin.org/get',params=payload)
url='https://api.github.com/some/endpoint'
headers={'user-agent':'my-app/0.0.1'}
r=requests.get(url,headers=headers)
#获取服务器响应文本内容
import requests
r=requests.get('https://api.github.com/events')
r.text
r.encoding
#获取字节响应内容
r.content
#获取响应码
r=requests.get('https://httpbin.org/get')
r.status_code
#获取响应头
r.headers
#获取Json响应内容
import requests
r=requests.get('https://api.github.com/events')
r.json()
#获取socket流响应内容
r=requests.get('https://api.github.com/events', stream=True)
r.raw
r.raw.read(10)
#Post请求,当你想要一个键里面添加多个值的时候
payload_tuples = [('key1', 'value1'), ('key1', 'value2')]
r1 = requests.post('https://httpbin.org/post', data=payload_tuples)
payload_dict = {'key1': ['value1', 'value2']}
r2 = requests.post('https://httpbin.org/post', data=payload_dict)
print(r1.text)
r1.text == r2.text
#请求的时候用json作为参数
url='https://api.github.com/some/endpoint'
payload={'some':'data'}
r=requests.post(url,json=payload)
r.text
#获取cookie信息
url='http://example.com/some/cookie/setting/url'
r=requests.get(url)
r.cookies['example_cookie_name']
#发送信息
url='https://httpbin.org/cookies'
cookies=dict(cookies_are='working')
r=requests.get(url,cookies=cookies)
r.text
#设置超时
requests.get('https://github.com/',timeout=0.001)
python爬虫04 Requests的更多相关文章
- 孤荷凌寒自学python第六十七天初步了解Python爬虫初识requests模块
孤荷凌寒自学python第六十七天初步了解Python爬虫初识requests模块 (完整学习过程屏幕记录视频地址在文末) 从今天起开始正式学习Python的爬虫. 今天已经初步了解了两个主要的模块: ...
- Python爬虫练习(requests模块)
Python爬虫练习(requests模块) 关注公众号"轻松学编程"了解更多. 一.使用正则表达式解析页面和提取数据 1.爬取动态数据(js格式) 爬取http://fund.e ...
- python爬虫之requests库
在python爬虫中,要想获取url的原网页,就要用到众所周知的强大好用的requests库,在2018年python文档年度总结中,requests库使用率排行第一,接下来就开始简单的使用reque ...
- python爬虫04 | 长江后浪推前浪,Reuqests库把urllib库拍在沙滩上
最近 有些朋友 看完小帅b的文章之后 把小帅b的表情包都偷了 还在我的微信 疯狂发表情包嘚瑟 我就呵呵了 只能说一句 盘他 还有一些朋友 看完文章不点好看 还来催更 小帅b也只能说一句 继续盘他 ...
- Python爬虫之requests
爬虫之requests 库的基本用法 基本请求: requests库提供了http所有的基本请求方式.例如 r = requests.post("http://httpbin.org/pos ...
- Python 爬虫二 requests模块
requests模块 Requests模块 get方法请求 整体演示一下: import requests response = requests.get("https://www.baid ...
- python爬虫之requests库介绍(二)
一.requests基于cookie操作 引言:有些时候,我们在使用爬虫程序去爬取一些用户相关信息的数据(爬取张三“人人网”个人主页数据)时,如果使用之前requests模块常规操作时,往往达不到我们 ...
- Python爬虫之requests库介绍(一)
一:Requests: 让 HTTP 服务人类 虽然Python的标准库中 urllib2 模块已经包含了平常我们使用的大多数功能,但是它的 API 使用起来让人感觉不太好,而 Requests 自称 ...
- Python爬虫之requests模块(1)
一.引入 Requests 唯一的一个非转基因的 Python HTTP 库,人类可以安全享用. 警告:非专业使用其他 HTTP 库会导致危险的副作用,包括:安全缺陷症.冗余代码症.重新发明轮子症.啃 ...
随机推荐
- Python中list的合并
①差集 方法一: if __name__ == '__main__': a_list = [{'a' : 1}, {'b' : 2}, {'c' : 3}, {'d' : 4}, {'e' : ...
- Tensorflow学习笔记No.2
使用函数式API构建神经网络 函数式API相比于keras.Sequential()具有更加灵活多变的特点. 函数式API主要应用于多输入多输出的网络模型. 利用函数式API构建神经网络主要分为3步, ...
- 一、Mysql(1)
数据库简介 人类在进化的过程中,创造了数字.文字.符号等来进行数据的记录,但是承受着认知能力和创造能力的提升,数据量越来越大,对于数据的记录和准确查找,成为了一个重大难题 计算机诞生后,数据开始在计算 ...
- Sticks(UVA - 307)【DFS+剪枝】
Sticks(UVA - 307) 题目链接 算法 DFS+剪枝 1.这道题题意就是说原本有一些等长的木棍,后来把它们切割,切割成一个个最长为50单位长度的小木棍,现在想让你把它们组合成一个个等长的大 ...
- mysql linux 命令行操作
1. 登录mysql mysql -u 用户名 -p 回车输入密码
- Java 移位运算、符号位扩展
类型取值范围 short 是1字节,即8位.而且 Java 中只有有符号数,所以最大值 0111,1111=2^7-1. 同时计算机中以补码形式存负数,所以可以多表示一个数,则最小值 1000,000 ...
- SpringBoot多任务Quartz动态管理Scheduler,时间配置,页面+源码
页面展现 后台任务处理:恢复任务 15s执行一次后台打印消息 不BB了,直接上代码 import... /** * 调度工厂类 * Created by jinyu on 2018/4/14/014. ...
- 用IPV6隧道连接IPV4孤岛
hostA和hostB之间是IPV6连接的,但是之前的服务只能支持IPV4,兼容IPV6比较困难.所以用隧道实现hostA和hostB之间用IPV4连接. hostA如下: ip -6 addr ad ...
- post 和php://input 转
$_POST['paramName'] 获取通过表单(multipart/form-data)提交的数据.但有时客户端会直接将请求数据以字符串的形式都放到 body 里传递过来,那么服务端就需要使用 ...
- go 参数传递的是值还是引用 (转)
https://blog.csdn.net/qq_16059847/article/details/104062759