一、urllib模块

python标准库自带的发送网络请求的模块。

# 用python怎么打开浏览器,发送接口请求
import urllib
from urllib.request import urlopen
from urllib.parse import urlencode
# url="http://www.nnzhp.cn/archives/527"
# res=urlopen(url).read()#返回的数据是二进制类型,怎么转换成字符串?,其实就是get请求
# print(res.decode())#encode()转换成二进制,decode()转换成字符串
# f=open('a.html','w',encoding='utf-8')#打开一个文件
# f.write(res.decode())#将网站上请求到的数据写入到文件中
# f.close() url="http://api.nnzhp.cn/api/user/login"
data={"username":"niuhanyang","passwd":"aA123456"}
data=urlencode(data)#将参数拼接起来,username=niuhanyang&passwd=aA123456
res=urlopen(url,data.encode()).read()
print(res.decode()) import json
import jsonpath
# 从接口数据中获取某个字段值,从json文件中获取数据,loads()将字符串转换成字典类型
dict=json.loads(res.decode())
print(dict)
# print(dict['login_info']['sign'])
# print(jsonpath.jsonpath(dict,expr='$.[login_info].[sign]'))
print(jsonpath.jsonpath(dict,expr='$..sign'))#不管字典有多少层,获取到字典中的值

二、requests模块

requests模块是基于urllib模块开发,用于发送http请求。

import requests
#向接口发送请求,获取返回的数据
#get请求
# url="http://XXXX/api/user/stu_info"
# data={'stu_name':'lyh'}
# res=requests.get(url,params=data,cookies={'k1':'v1','k2':'v2'},headers={'kk1':'vv1','kk2':'vv2'})
# print(res.text) #post请求
url="XXX/api/user/login"
data={"username":"liuyihan","passwd":"aA123456"}
res=requests.post(url,params=data)
print(res.json())#返回的是一个字典
print(res.text)#返回的是一个字符串 url="XXX/api/file/file_upload"
res=requests.post(url,files={'file':open('a.html','rb')})
print(res.json)

python之urllib模块和requests模块的更多相关文章

  1. 模块讲解---time模块,datetime模块,random模块,hashlib模块和hmac模块,typing模块,requests模块,re模块

    目录 1. 包 2. time模块   1. 优先掌握 2. 了解 3. datetime模块   1. 优先掌握 4. random模块   1. 优先掌握   2. 了解 5. hashlib模块 ...

  2. python网络爬虫之二requests模块

    requests http请求库 requests是基于python内置的urllib3来编写的,它比urllib更加方便,特别是在添加headers, post请求,以及cookies的设置上,处理 ...

  3. 【Python】Python的urllib模、urllib2模块的网络下载文件

    因为需要从一些下载一个页PDF文件.但是需要下载PDF有数百个文件,这是不可能用人工点击下载.只是Python有相关模块,所以写一个程序PDF文件下载,顺便熟悉Python的urllib模块和ulrl ...

  4. 爬虫模块之requests模块

    一 模块的下载安装 pip install requests 二 爬虫的介绍 什么是爬虫:就是模拟浏览器发送请求:保存到本地:提取有用的数据:保存到数据库 爬虫的价值:获取有用的数据,保存到数据库 爬 ...

  5. python关于urllib库与requests

    对于这两个库来说个人推荐使用requests库 下面用实例来说明 urllib库: requests库: 实现同样功能: 实现同样的功能下urllib比request步骤更复杂,这个对于我们编程来说是 ...

  6. Python使用lxml模块和Requests模块抓取HTML页面的教程

    Web抓取Web站点使用HTML描述,这意味着每个web页面是一个结构化的文档.有时从中 获取数据同时保持它的结构是有用的.web站点不总是以容易处理的格式, 如 csv 或者 json 提供它们的数 ...

  7. python3 urllib和requests模块

    urllib模块是python自带的,直接调用就好,用法如下: 1 #处理get请求,不传data,则为get请求 2 import urllib 3 from urllib.request impo ...

  8. python网络编程----requests模块

    python访问网站可以用标准模块--urllib模块(这里省略),和requests(安装-pip install requests)模块,requests模块是在urllib的基础上进行的封装,比 ...

  9. python爬虫:爬虫的简单介绍及requests模块的简单使用

    python爬虫:爬虫的简单介绍及requests模块的简单使用 一点点的建议: (学习爬虫前建议先去了解一下前端的知识,不要求很熟悉,差不多入门即可学习爬虫,如果有不了解的,我也会补充个一些小知识. ...

随机推荐

  1. BZOJ [Scoi2010]游戏

    题解: 解法一:建立图论模型,发现只要联通块中有环则这个联通块中的值都可以被攻击到 如果是树,则只能攻击size-1个 解法二:二分图匹配,二分答案,看看是否能攻击到mid #include<i ...

  2. 委托、Action、Func使用

    参考 using System; using System.Collections.Generic; using System.Linq; using System.Text; using Syste ...

  3. 视频课程 | Kubernetes的兴起

    视频课程 | Kubernetes的兴起 原创: 京小云 京东云开发者社区  4月3日 京东云开发者社区在3月底于北京举行了以"Cloud Native时代的应用之路与开源创新"为 ...

  4. Linux--shell 计算时间差

    参考:https://www.cnblogs.com/leixingzhi7/p/6281675.html starttime=`date +'%Y-%m-%d %H:%M:%S'` #执行程序 en ...

  5. 题解 P1447 【[NOI2010]能量采集】

    题目 这题不要用莫比乌斯反演,用欧拉反演更快 [分析] 设点 \((x,y)\) 的能量损失为 \(f(x,y)\) 则 \(\displaystyle Ans=\sum_{i=1}^n\sum_{j ...

  6. 第1章 分布式系统概念与ZooKeeper简介

    ZooKeeper分布式专题与Dubbo微服务入门 第1章 分布式系统概念与ZooKeeper简介 1-1 zookeeper简介 1-2 什么是分布式系统 略 1-3 分布式系统的瓶颈以及zk的相关 ...

  7. Android巩固之事件分发机制

    https://www.cnblogs.com/liaojie970/p/5869152.html onTouchEvent是真正用来进行业务逻辑处理的地方,返回true表示已经将该事件消费,返回fa ...

  8. C/C++ 取整函数ceil(),floor()

    使用floor函数.floor(x)返回的是小于或等于x的最大整数.如:     floor(10.5) == 10    floor(-10.5) == -11 使用ceil函数.ceil(x)返回 ...

  9. springboot+mybatis+通用mapper+多数据源(转载)

    1.数据库准备 数据库表我们在springboot-mybatis数据之外,新建数据库springboot-mybatis2: springboot-mybatis数据库中有t_class表: spr ...

  10. Java常用面试题总结

    1.多线程实现方式 2.cookie和session区别 3.数据加密 4.接口并发 5.常用的集合类 6.遍历集合方式 7.接口和抽象类 8.#和$区别 9.防止sql注入 10.springMvc ...