博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
request & requests 模块
阅读量:4553 次
发布时间:2019-06-08

本文共 2821 字,大约阅读时间需要 9 分钟。

request 模块

#requests 库

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

# /usb/bin/env python

#! -*- encoding=utf=8 -*-
#example:

import urllib.request

#例子1

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

#例子2 带请求头

req = 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')

print(result)

 

 

 

 

requests 模块

requests 模块的安装

pip3 install requests

#使用模块

#1 . 无参数实例

import requests

ret = requests.get('https://github.com/timeline.json')

print(ret.url)
print(ret.text)

#有参数实例

import requests
payload = {'key1':'value1','key2':'value2'}
ret = requests.get("http://httpbin.org/get",params=payload)

print(ret.url)

print(ret.text)

1 post 实例:
import requests
payload = {'key1':'value1','key2':'value2'}
ret = requests.post("http://httpbin.org/post",data=payload)
print(ret.text)

2 发送请求头和数据实例
import requests
import json

url = '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)

其他请求

import urllibimport requestsfrom 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 urllibimport requestsfrom 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/zxcv-/p/7732083.html

你可能感兴趣的文章
Spring+SpringMVC+JDBC实现登录
查看>>
生与死之间
查看>>
NEFU 109
查看>>
HDU 5435
查看>>
thinkphp的目录结构设计经验总结
查看>>
9月23日
查看>>
java 括号匹配 成对
查看>>
三级联动下拉列表——php 、Ajax
查看>>
取自ACE中的bit操作宏(转)
查看>>
git从已有分支拉新分支开发
查看>>
滚动条隐藏兼容写法
查看>>
SQL2005查询所有表的大小
查看>>
Shell 正则表达式
查看>>
Docker run命令参数整理
查看>>
create-react-app简单操作
查看>>
2016年5月29日晚上(传智Bootstrap笔记五(表单2))
查看>>
IAR嵌入式工作台IDE _ (__no_init)
查看>>
【转】高斯投影及其中央子午线的判断
查看>>
Access提示Insert Into 语法错误解决办法总结
查看>>
Spark之 SparkSql、DataFrame、DataSet介绍
查看>>