Python标准库中提供了:urllib等模块以供Http请求,但是,它的 API 太渣了。它是为另一个时代、另一个互联网所创建的。它需要巨量的工作,甚至包括各种方法覆盖,来完成最简单的任务。

  发送GET请求

import urllib.requestf = urllib.request.urlopen('http://www.webxml.com.cn//webservices/qqOnlineWebService.asmx/qqCheckOnline?qqCode=424662508')
result = f.read().decode('utf-8')

发送携带请求头的GET请求

import urllib.requestreq = urllib.request.Request('http://www.example.com/')
req.add_header('Referer', 'http://www.python.org/')
r = urllib.request.urlopen(req)result = f.read().decode('utf-8')

  更多内容点击查看官方文档

  Requests 是使用 Apache2 Licensed 许可证的 基于Python开发的HTTP 库,其在Python内置模块的基础上进行了高度的封装,从而使得Pythoner进行网络请求时,变得美好了许多,使用Requests可以轻而易举的完成浏览器可有的任何操作。

  1. 安装模块
pip3 install requests
  1. 使用模块

  GET请求

# 1、无参数实例import requestsret = requests.get('https://github.com/timeline.json')print(ret.url)
print(ret.text)# 2、有参数实例import requestspayload = {'key1': 'value1', 'key2': 'value2'}
ret = requests.get("http://httpbin.org/get", params=payload)print(ret.url)
print(ret.text)

  POST请求

# 1、基本POST实例import requestspayload = {'key1': 'value1', 'key2': 'value2'}
ret = requests.post("http://httpbin.org/post", data=payload)print(ret.text)# 2、发送请求头和数据实例import requests
import jsonurl = 'https://api.github.com/some/endpoint'
payload = {'some': 'data'}
headers = {'content-type': 'application/json'}ret = requests.post(url, data=json.dumps(payload), headers=headers)print(ret.text)
print(ret.cookies)

  其他请求

requests.get(url, params=None, **kwargs)
requests.post(url, data=None, json=None, **kwargs)
requests.put(url, data=None, **kwargs)
requests.head(url, **kwargs)
requests.delete(url, **kwargs)
requests.patch(url, data=None, **kwargs)
requests.options(url, **kwargs)# 以上方法均是在此方法的基础上构建
requests.request(method, url, **kwargs)

  更多requests模块相关文档点击查看

  1. Http请求和XML实例

实例:检测QQ账号是否在线

import urllib
import requests
from xml.etree import ElementTree as ET# 使用内置模块urllib发送HTTP请求,或者XML格式内容
"""
f = urllib.request.urlopen('http://www.webxml.com.cn//webservices/qqOnlineWebService.asmx/qqCheckOnline?qqCode=424662508')
result = f.read().decode('utf-8')
"""# 使用第三方模块requests发送HTTP请求,或者XML格式内容
r = requests.get('http://www.webxml.com.cn//webservices/qqOnlineWebService.asmx/qqCheckOnline?qqCode=424662508')
result = r.text# 解析XML格式内容
node = ET.XML(result)# 获取内容
if node.text == "Y":print("在线")
else:print("离线")

实例:查看火车停靠信息

import urllib
import requests
from xml.etree import ElementTree as ET# 使用内置模块urllib发送HTTP请求,或者XML格式内容
"""
f = urllib.request.urlopen('http://www.webxml.com.cn/WebServices/TrainTimeWebService.asmx/getDetailInfoByTrainCode?TrainCode=G666&UserID=')
result = f.read().decode('utf-8')
"""# 使用第三方模块requests发送HTTP请求,或者XML格式内容
r = requests.get('http://www.webxml.com.cn/WebServices/TrainTimeWebService.asmx/getDetailInfoByTrainCode?TrainCode=G666&UserID=')
result = r.text# 解析XML格式内容
root = ET.XML(result)
for node in root.iter('TrainDetailInfo'):print(node.find('TrainStation').text,node.find('StartTime').text,node.tag,node.attrib)

转载于:https://www.cnblogs.com/guigujun/p/7614506.html

python3模块: requests相关推荐

  1. Python3之requests模块

    Python标准库中提供了:urllib等模块以供Http请求,但是,它的 API 太渣了.它是为另一个时代.另一个互联网所创建的.它需要巨量的工作,甚至包括各种方法覆盖,来完成最简单的任务. 发送G ...

  2. python3 爬虫 requests安装_BOSS直聘招聘信息获取之爬虫工具分析

    点击蓝色"不太灵光的程序员"关注我哟 加个"星标",每天上午 09:30,干货推送! 文中使用的组件库仅限于Python语言,由于最近收到一些同学的留言说,按照 ...

  3. python 安装模块requests、bs4、html5lib、 lxml、matplotlib

    前言:最近学习python,想尝试下实现抓取网页的文本,并实现词频统计的功能.实现该功能需要安装的模块,分别是  requests.bs4.html5lib.lxml.matplotlib 背景:已经 ...

  4. 手机版python3.6.6的requests库下载_Python爬虫之Python3.6 Requests库的基本使用方法

    Python爬虫之Python3.6 Requests库的基本使用方法 未分类 在使用Python过程中,使用http处理各种请求是我们绕不过去的,在Python中开发爬虫用来抓取各种网络上的资源,就 ...

  5. python3.x+requests 爬取网站遇到中文乱码的解决方案

    正常情况下,遇见问题上google找答案能甩百度100条街,但是这个问题是个例外······人家老外就没有乱码的问题.言归正传,首先建议大家看一下python3.x+requests 爬取网站遇到中文 ...

  6. python 菜鸟-Python3 模块

    Python3 模块 在前面的几个章节中我们脚本上是用 python 解释器来编程,如果你从 Python 解释器退出再进入,那么你定义的所有的方法和变量就都消失了. 为此 Python 提供了一个办 ...

  7. python3 模块大全_Python3 模块 | 菜鸟教程

    Python3 模块 在前面的几个章节中我们脚本上是用 python 解释器来编程,如果你从 Python 解释器退出再进入,那么你定义的所有的方法和变量就都消失了. 为此 Python 提供了一个办 ...

  8. python3 模块

    python3 模块 time 模块: 在Python中,通常有这三种方式来表示时间:时间戳.元组(struct_time).格式化的时间字符串: (1)时间戳(timestamp) :通常来说,时间 ...

  9. python3使用requests登录人人影视网站

    python3使用requests登录人人影视网站 继续练习使用requests登录网站,人人影视有一项功能是签到功能,需要每天登录签到才能升级. 下面的代码python代码实现了使用requests ...

最新文章

  1. Windows 活动目录(AD)服务器系统升级到2012之升级完成后工作(八)
  2. mysql数据库进阶_MySQL T2-数据库进阶?
  3. 《Two Dozen Short Lessons in Haskell》(二十)分数
  4. caffe学习日记--lesson5: VS下新建工程,探究Blob
  5. php1到5000排序,php排序1亿个号码
  6. 常见设计稿字体对应字重font-weight大小
  7. “我爱淘”冲刺阶段Scrum站立会议10
  8. 你需要来自trustedinstaller的权限才能删除
  9. mysql 校对规则_MySQL:校对规则
  10. USB快充5V-9V输入升压给16.8V四串锂电池充电板,芯片方案-37号电路板
  11. 瑞利 随机 matlab,matlab产生瑞利分布随机信号
  12. 如何将录音m4a转换为mp3格式?
  13. IP,ARP,以太网--网络层与数据链路层详解
  14. xx-xx-xx-xx转换成x年x月x日星期x
  15. 【云原生 • Terraform】基础设施即代码工具力荐
  16. 安卓Android手机汽车租赁系统app毕业设计
  17. 新浪微博开放平台账号申请(基于dcloud开发)
  18. 关于Android零基础学习的思考
  19. python实现邮箱正则表达式验证
  20. CFX 多工况后处理的批处理方法

热门文章

  1. 【51Nod - 1133】不重叠的线段 (贪心)
  2. 【CodeForces - 214C 】Game (拓扑排序,思维)
  3. 【POJ - 3125 】Printer Queue(模拟,队列+优先队列,STL)
  4. 【HDU - 1968】【UVA - 12096】The SetStack Computer (模拟,集合求交集并集操作,STL实现)
  5. C 的Pair用法分类整理(精)
  6. 对short类型,输出结果不一样?
  7. Apollo进阶课程㉘丨Apollo控制技术详解——基于模型的控制方法
  8. 机器学习笔记(八):神经网络:学习
  9. 7.Working with External Libraries
  10. 载winpcap4.1.1_最常用的11个电缆载流量数据表,建议收藏备用