python爬虫基础,post提交方式复习

news/2024/7/19 9:17:49 标签: 爬虫, python, json
#-*-coding:utf8-*-

#参考学习官方资料 http://docs.python-requests.org/zh_CN/latest/user/quickstart.html

#POST请求与POST的提交方式(比如post请求方式,application/json编码后的提交)
#application/x-www-form-urlencoded 以form表单的形式提交数据,这是最常见的一种
#application/jsonjson串提交数据
#multipart/form-data:上传文件

#http://httpbin.org/post 用来测试request的网址

import requests
url='http://httpbin.org/post'
d={'key1':'value','key2':'value2'}
response=requests.post(url,data=d)
print(response.text)
print(response.content)#二进制的响应方式
print(response.json())#json的响应方式
print(response.raise_for_status())#成功什么都不输出
print(response.status_code)
print(response.headers['Content-Type'])
# print(response.request.url)
# print(response.url)
# print(response.headers)
#request上传文件的功能


#requests与cookies的联系
print('---------------------------------------------------------')
url2='http://httpbin.org/cookies'
cookies=dict(cookies_are='working')
response2=requests.get(url2,cookies=cookies)
print(response.cookies)#cookie的返回对象为RequestsCookieJar,它的行为和字典类似,但接口更为完整,适合跨域名跨路径使用。
print(response2.text)

#你还可以把 Cookie Jar 传到 Requests 中
jar=requests.cookies.RequestsCookieJar()
jar.set('tasty_cookie','yum',domain='httpbin.org',path='/cookies')
jar.set('gross_cookie','blech',domain='httpbin.org',path='/elsewhere')
r=requests.get(url2,cookies=jar)
print(r.text)

#重定向与禁用重定向
re=requests.get('http://github.com') #Github 将所有的 HTTP 请求重定向到 HTTPS:
print(re.status_code,' ',re.url,' ',re.history)

#禁用重定向
print('---------------------------------------------------')
re=requests.head('http://github.com',allow_redirects=True)
print(r.url,' ',r.status_code,' ',r.history)
#使用HEAD启用重定向
re=requests.head('http://github.com',allow_redirects=True)


#requests高级用法
url3='http://www.yooc.me'
res=requests.get(url3)
print('-------------------------------------------')
print(res.request.headers)

#高级用法 http://docs.python-requests.org/zh_CN/latest/user/advanced.html#advanced

转载于:https://www.cnblogs.com/qingsheng/p/9617262.html


http://www.niftyadmin.cn/n/1019546.html

相关文章

企业管理系统IT基础组件化的一些思考(2)----企业管理软件的基础组件

对管理软件基本要素梳理后,我们发现管理软件都是在围绕组织结构,权限组件,单据,流程,报表,主线6个概念展开。那一个通用的企业管理系统就应该围绕这些内容进行构建。 企业管理软件与公众化应用平台的区分在于服务对象,以及对数据协同性的要求…

【Matlab元胞自动机】元胞自动机车流密度不变下的双向两车道仿真(T 字形路口)【含源码 1290期】

一、代码运行视频(哔哩哔哩) 【Matlab元胞自动机】元胞自动机车流密度不变下的双向两车道仿真(T 字形路口)【含源码 1290期】 二、matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]王泽华.基于元胞自动机的双车道变道…

企业管理系统IT基础组件化的一些思考(3)----组织结构

组织结构 是企业组织架构与管理层级的数字化描述。从企业管理软件信息化系统推广过程中来看,主要包含:员工信息/组织部门信息/岗位职责信息/角色信息。 组织结构,是企业管理软件的基础,所有的业务数据将围绕组织结构进行构建&…

【Matlab元胞自动机】元胞自动机超车换道【含源码 359期】

一、代码运行视频(哔哩哔哩) 【Matlab元胞自动机】元胞自动机超车换道【含源码 359期】 二、matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]王泽华.基于元胞自动机的双车道变道交通流特性研究[J]. 交通节能与环保. 2020,16(01)

算法05

创建一颗二叉树使用递归版实现前中后序遍历这颗二叉树和使用队列实现层序遍历 #include<iostream> #include<queue> #include<cstdio> using namespace std;struct TreeNode {char data;TreeNode *lchild, *rchild; };class Tree { private:TreeNode *head;q…

Spark 1.5.0 远程调试

Spark 1.5.0 远程调试 作者&#xff1a;摇摆少年梦 微信号&#xff1a;zhouzhihubeyond 先决条件 已安装好Spark集群&#xff0c;本例子中使用的是spark-1.5.0. 安装方法参见&#xff1a;http://blog.csdn.net/lovehuangjiaju/article/details/48494737已经安装好Intellij IDE…

【Matlab图像隐写】LSB匹配图像隐写【含GUI源码 812期】

一、代码运行视频&#xff08;哔哩哔哩&#xff09; 【Matlab图像隐写】LSB匹配图像隐写【含GUI源码 812期】 二、matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 蔡利梅.MATLAB图像处理——理论、算法与实例分析[M].清华大学出版社&#xff0c;2020. [2]杨丹,赵…

企业管理系统IT基础组件化的一些思考(4)----产品功能定义

企业管理软件&#xff0c;核心目的是管理企业已知的事务以及为未来的事务留下扩展接口。所以企业管理软件需要有较强的模型构建能力&#xff0c;它本身必须是在特定规则下完全开放的。 企业管理软件的核心职责是数据记录【事前/事中/事后】&#xff1b;第二职责是否服务职责&a…