Python 3基础教程31-urllib模块
本文介绍Python里的urllib模块,这个urllib主要处理web服务的,如果需要做接口测试,或者写Python的网络爬虫,这个urllib就是最底层的库。需要用到里面的请求方法等。
1. 先看看一个不带参数的http 请求
# urllib模块
import urllib.request # 向web服务器发送一个请求,打开百度学术首页
x = urllib.request.urlopen('http://xueshu.baidu.com/') # 打印页面源代码
print(x.read())
自己运行下,这里就不贴运行结果
2.再看看带参数的http 请求,这里以新浪天气举例
# urllib模块
import urllib.request
import urllib.parse # 向web服务器发送一个请求,打开百度学术首页
#x = urllib.request.urlopen('http://xueshu.baidu.com/') # 打印页面源代码
#print(x.read()) # 发送一个带参数的请求
url = 'http://php.weather.sina.com.cn/search.php'
values = {'city':'北京',
'dpc':'1'
}
'''
city=北京,这个字段需要转码,转成后是%B1%B1%BE%A9
你可以打开http://php.weather.sina.com.cn,搜索北京看看是不是这个转码
这个转码过程就叫encode
'''
data = urllib.parse.urlencode(values)
# 参数的编码格式是Unicode,这里用utf-8,最适合网络传输的编码协议
data = data.encode('utf-8')
# 调用一个有url和参数的请求,通过Request(url,data)
req = urllib.request.Request(url,data)
# 打开这个请求,通过urlopen函数
resq = urllib.request.urlopen(req)
# 定义一个响应返回数据respData,也就是读取查询北京天气的页面
respData = resq.read()
# 打印北京天气查询结果页的源代码
print(respData)
运行一下,需要等待一点时间,就可以看到北京天气查询结果页的源代码输出。
Python下的urllib库就先介绍到这里,以后做爬虫或者接口自动化测试,需要用到这些。当然,爬虫和接口测试Python不止urllib这个库,还有更好的库支持完成这些工作。
Python 3基础教程31-urllib模块的更多相关文章
- Python数据分析基础教程
Python数据分析基础教程(第2版)(高清版)PDF 百度网盘 链接:https://pan.baidu.com/s/1_FsReTBCaL_PzKhM0o6l0g 提取码:nkhw 复制这段内容后 ...
- Python机器学习基础教程-第2章-监督学习之决策树
前言 本系列教程基本就是摘抄<Python机器学习基础教程>中的例子内容. 为了便于跟踪和学习,本系列教程在Github上提供了jupyter notebook 版本: Github仓库: ...
- Python机器学习基础教程-第1章-鸢尾花的例子KNN
前言 本系列教程基本就是摘抄<Python机器学习基础教程>中的例子内容. 为了便于跟踪和学习,本系列教程在Github上提供了jupyter notebook 版本: Github仓库: ...
- [SQL基础教程] 3-1 对表进行聚合查询
[SQL基础教程] 3-1 对表进行聚合查询 聚合函数 用于合计的函数称为聚合函数或者集合函数 COUNT SUM AVG MAX MIN SELECT COUNT(*) FROM table; SE ...
- 小白必看Python视频基础教程
Python的排名从去年开始就借助人工智能持续上升,现在它已经成为了第一名.Python的火热,也带动了工程师们的就业热.可能你也想通过学习加入这个炙手可热的行业,可以看看Python视频基础教程,小 ...
- Python Numpy基础教程
Python Numpy基础教程 本文是一个关于Python numpy的基础学习教程,其中,Python版本为Python 3.x 什么是Numpy Numpy = Numerical + Pyth ...
- Python机器学习基础教程-第2章-监督学习之决策树集成
前言 本系列教程基本就是摘抄<Python机器学习基础教程>中的例子内容. 为了便于跟踪和学习,本系列教程在Github上提供了jupyter notebook 版本: Github仓库: ...
- Python机器学习基础教程-第2章-监督学习之线性模型
前言 本系列教程基本就是摘抄<Python机器学习基础教程>中的例子内容. 为了便于跟踪和学习,本系列教程在Github上提供了jupyter notebook 版本: Github仓库: ...
- Python机器学习基础教程-第2章-监督学习之K近邻
前言 本系列教程基本就是摘抄<Python机器学习基础教程>中的例子内容. 为了便于跟踪和学习,本系列教程在Github上提供了jupyter notebook 版本: Github仓库: ...
- Python机器学习基础教程
介绍 本系列教程基本就是搬运<Python机器学习基础教程>里面的实例. Github仓库 使用 jupyternote book 是一个很好的快速构建代码的选择,本系列教程都能在我的Gi ...
随机推荐
- 【luogu P3368 树状数组2】 模板
题目链接:https://www.luogu.org/problemnew/show/P3368 #include<iostream> #include<cstdio> #in ...
- SpeedTree制作超真实老宅
- c语言描述的双向链表的基本操作
#include<stdio.h> #include<stdlib.h> #define ok 1 #define error 0 typedef int Status; ty ...
- JavaScript函数变量作用域
变量作用域 在JavaScript中,用var申明的变量实际上是有作用域的. 如果一个变量在函数体内部申明,则该变量的作用域为整个函数体,在函数体外不可引用该变量. 如果两个不同的函数各自申明了同一变 ...
- django-初始配置(纯手写)
我们通过django-admin startproject zhuyu命令创建好项目后,在pycharm中打开 我们需要在在该项目中,配置一些相关操作. 1.template(存放模板的文件夹) 如果 ...
- #leetcode刷题之路9- 回文数
判断一个整数是否是回文数.回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数. 示例 1:输入: 121输出: true 示例 2:输入: -121输出: false解释: 从左向右读, 为 ...
- Cent-OS——服务状态
查看MySQL状态: systemctl start mysqld #启用 systemctl stop mysqld #关闭 systemctl restart mysqld #重启MySQL服务 ...
- php mysql 计算经纬之间距离 范围内筛选
<?php /** * 根据经纬度和半径计算出范围 * @param string $lat 纬度 * @param String $lng 经度 * @param float $radius ...
- jdbc学习笔记03
作业: 1. 学生表(id,age,name) 2. 插入学生 3. 修改学生 4. 删除学生 5. 查询学生 JavaBean 俗称简单的Java对象 javaBean满足以下三点 1.私有属性 2 ...
- Hadoop(22)-Hadoop数据压缩
1.压缩概述 2.压缩策略和原则 3.MapReduce支持的压缩编码 64位系统下的单核i7,Snappy的压缩速率可以达到至少250MB/S,解压缩速率可以达到至少500MB/S 4.压缩方式选择 ...