python学习笔记:网络请求——urllib模块
python操作网络,也就是打开一个网站,或者请求一个http接口,可以使用urllib模块。
urllib模块是一个标准模块,直接import urllib即可,在python3里面只有urllib模块,在python2里面有urllib模块和urllib2模块
Urllib是python内置的HTTP请求库
包括以下模块
urllib.request 请求模块
urllib.error 异常处理模块
urllib.parse url解析模块
urllib.robotparser robots.txt解析模块
因为有更好用的模块,所以再在此不对此模块进行更多解释,想更好的学习urllib模块可以参考下面的博客或官方文档。
参考博客:http://www.cnblogs.com/zhaof/p/6910871.html
官方文档:https://docs.python.org/3/library/urllib.html
import json
from urllib.request import urlopen # 打开网页
from urllib.parse import urlencode # ====get请求====
url='https://www.cnblogs.com/haifeima/p/9829601.html#autoid-5-0-5'
res=urlopen(url).read()#发起get请求,并获取结果
print(res.decode())#返回的是二进制类型,所以要decode变成字符串
f=open('b.html','w',encoding='utf-8') #将上面的网页保存到本地,执行后会在本地生成一个叫做b.html的文件
f.write(res.decode())
f.close() # ====post请求====
url='http://api.nnzhp.cn/api/user/login'
data={"username":"niuhanyang","passws":"aA123456"}
data=urlencode(data)
res=urlopen(url,data).read()#发起post请求,加个date把数据传进来,获取结果
print(res.decode())#转成decode格式
d=json.loads(res.decode())#转成字典
print(d.get('login_info').get('sign'))
f=open('b.html','w',encoding='utf-8') #将上面的网页保存到本地,执行后会在本地生成一个叫做b.html的文件
f.write(res.decode())
f.close()
python学习笔记:网络请求——urllib模块的更多相关文章
- python学习笔记-(九)模块
基础知识 1. 定义 模块:用来从逻辑上组织python代码(变量,函数,类,逻辑----实现一个功能),本质就是.py结尾的python文件(文件名:test.py,对应的模块就是test) 包:用 ...
- python学习笔记之九:模块和包
Python的标准安装包括一组模块,称为标准库.这里介绍模块的工作方式,学习如何使用它们. 一. 模块 1.1 用import从外部模块获取函数并为自己的程序所用: >>> from ...
- python学习笔记(locust性能测试模块)
locust是基于python的性能测试工具.支持python2.7及其以上的版本.相对于主流的LR与Jmeter工具使用的方式不一样.locust是通过编写python代码来完成性能测试的. 通过L ...
- python学习笔记(六)— 模块
一.os.sys模块 import os print(os.getcwd())#取当前工作目录,绝对路径 print(os.chdir("../"))#更改当前目录 print(o ...
- python学习笔记之使用threading模块实现多线程(转)
综述 Python这门解释性语言也有专门的线程模型,Python虚拟机使用GIL(Global Interpreter Lock,全局解释器锁)来互斥线程对共享资源的访问,但暂时无法利用多处理器的优势 ...
- Python学习笔记(迭代、模块扩展、GUI 、编码处理等)
PythonIDLE中的编码处理 http://www.tuicool.com/articles/NbyEBr 原文标题:Python中实际上已经得到了正确的Unicode或某种编码的字符,但是看起来 ...
- Python学习笔记005_文件_OS_模块_pickle
>>> >>> # 文件 open()方法是打开文件,它有很多参数,第一个文件名是必须的(带路径)>>> >>> f = ope ...
- Python学习笔记:import sys模块(argv、path、platform、exit)
sys模块是Python标准库中自带的一个模块. sys模块包括了一组非常实用的服务,内含很多函数方法和变量,用来处理Python运行时配置以及资源,从而可以与当前程序之外的系统环境交互,如:Pyth ...
- python学习笔记(七)模块
一个python文件就是一个模块 1.标准模块 python自带的,不需要你安装的 2.第三方模块 需要安装,别人提供的,例:pip install radis 如果提示没有pip,把python下s ...
随机推荐
- [360前端星计划]BlackJack(21点)(纯JS,附总部学习笔记)
[360前端星计划]总部学习笔记(6/6) [360前端星计划]详情跳转 游戏界面预览 目录 一.游戏介绍 1.起源 2.规则 3.技巧 二.游戏设计 1.整体UI构思 2.素材采集 3.游戏总规划 ...
- b/s 起点
1.Web前端: JavaScript (1)脚本语言.JavaScript是一种解释型的脚本语言,C.C++等语言先编译后执行,而JavaScript是在程序的运行过程中逐行进行解释. (2)基于对 ...
- HDU 1205 吃糖果 (鸽巢原理)
题目链接:HDU 1205 Problem Description HOHO,终于从Speakless手上赢走了所有的糖果,是Gardon吃糖果时有个特殊的癖好,就是不喜欢将一样的糖果放在一起吃,喜欢 ...
- PAT甲级——A1155 HeapPaths【30】
In computer science, a heap is a specialized tree-based data structure that satisfies the heap prope ...
- 2.Jmeter 如何在jsr223 脚本中停止测试任务
Jmeter 如何在jsr223 脚本中停止测试任务 在可以直接引用ctx的变量的processor中可以执行如下脚本即可. (例如jsr223 postprocessor中) ctx.getEngi ...
- mysql 【常用sql】
修改过mysql数据库字段内容默认值为当前时间 --添加CreateTime 设置默认时间 CURRENT_TIMESTAMP ALTER TABLE `table_name` ADD COLUMN ...
- PHP include 与 require 区别
include 与 require 语句同样用于向 PHP 代码中引用文件. include 与 require 有一个巨大的差异: include 语句引用某个文件并且 PHP 无法找到它,脚本会 ...
- 【学习总结】Python-3-算术运算符中的/和//
参考:菜鸟教程-Python3运算符 参考:菜鸟教程-Python3数字 算术运算符中的两种除法的区别: 一个斜杠/:正常的人类除法,两个int相除也保留小数 eg: 21/10 = 2.1 两个斜杠 ...
- Web设计规范----控件、组件
什么是控件?什么组件? 组件控件分类可以根据组件控件属性进行分类,也可以根据组件控件的功能进行划分.一般按功能划分,例如表单类就可以划分为:单文本输入,多文本输入.日历时间选择器.下拉选择列表.单选多 ...
- WPF多线程更新UI的一个解决途径
那么该如何解决这一问题呢?通常的做法是把耗时的函数放在线程池执行,然后切回主线程更新UI显示.前面的updateTime函数改写如下: private async void updateTime() ...