python urllib模块
urllib模块
- urllib.request模块
- 版本介绍
- 常用方法
- 响应对象
- urllib.parse模块
- 常用方法
- 请求方式
urllib.request模块
版本介绍
- 在
python3.0
之前,通常为urllib2
、urllib
结合使用 python3
把urllib
和urllib2
合并成urllib.request
常用方法
urllib.request.urlopen(url)
:向url
发送请求并获取响应- 得到响应之后,
response.read()
-> 得到网页内容,编码为bytes - 使用
response.read().decode('utf-8')
可以得到以字符串为编码的网页内容 - 代码举例
import urllib.requesthtml = urllib.request.urlopen('https://818ps.com/muban/biaoqingbao.html?user_source=r416508&sdclkid=b52pALol15jpALAR&bd_vid=8269777356919846594') print(html.read().decode('utf-8'))
- 得到响应之后,
- 针对一些反爬机制,有时我们可能需要添加headers参数,但是
urllib.request.urlopen()
不能增加这个参数,所以需要用到urllib.request.Request()
方法- 步骤
- 1、创建请求对象
- 2、发送请求并获取响应
- 3、打印网页内容
- 代码举例
import urllib.requesturl = 'https://www.baidu.com' headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36'} # 1、创建请求对象 html = urllib.request.Request(url, headers=headers) # 2、响应对象 response = urllib.request.urlopen(html) # 3、获取网页内容 print(response.read().decode('utf-8'))
- 步骤
响应对象
read()
-> 读取服务器响应的内容getcode()
-> 返回HTTP的响应码geturl()
-> 返回实际数据的URL(防止重定向问题)
urllib.parse模块
常用方法
urllib.parse.urlencode(参数:字典)
-> 将字符串转换成形如%E6%9F%AF%E5%8D%97
- 代码示例
import urllib.request import urllib.parse# https://www.baidu.com/s?wd=%E6%9F%AF%E5%8D%97url = 'https://www.baidu.com/s?' name = input("请输入要搜索的内容:") # 定义一个字典,与urllib.parse.urlencode的传参形式一致 wd = {'wd': name} # 将汉字转成形如%E6%9F%AF%E5%8D%97 wd = urllib.parse.urlencode(wd) # 拼接完整url url = url + wd headers = headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36'} # 创建请求对象 req = urllib.request.Request(url, headers=headers) # 发送请求并获取响应 res = urllib.request.urlopen(req) # 获取网页内容 html = res.read().decode('utf-8') # 打印内容 print(html)
- 代码示例
urllib.parse.quote(参数:字符串)
-> 将字符串转换成形如%E6%9F%AF%E5%8D%97
- 代码示例
import urllib.parse# https://www.baidu.com/s?wd=%E6%9F%AF%E5%8D%97url = 'https://www.baidu.com/s?' name = input('请输入你要搜索的内容:') name = urllib.parse.quote(name) # 拼接完整url url = url + name headers = headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36'} # 创建请求对象 req = urllib.request.Request(url, headers=headers) # 发送请求并获取响应 res = urllib.request.urlopen(req) # 获取网页内容 html = res.read().decode('utf-8') # 打印内容 print(html)
- 代码示例
请求方式
GET 特点 :查询参数在URL地址中显示
POST
- 在Request方法中添加data参数
urllib.request.Request(url,data=data,headers=headers)
- data :表单数据以bytes类型提交,不能是str
- 在Request方法中添加data参数
python urllib模块相关推荐
- [转载] Python—urllib模块
参考链接: Python Urllib模块 urllib模块提供的上层接口使用户能够像读取本地文件一样读取WWW或FTP上的数据,使用起来比C++.C#等编程语言更加方便. 常用的方法如下: 1.ur ...
- pythonurllib模块-Python urllib模块 网络资源访问安装下载
urllib是Python标准库最为常用的一个python网络应用资源访问的模块了,它可以让你像访问本地文本文件一样,读取网页的内容. Python urllib的作用是访问一些不需要验证的网络资源和 ...
- pythonurllib模块-Python urllib模块与urlopen()函数解析
Python urllib 库提供了一个从指定的 URL 地址获取网页数据,然后对其进行分析处理,获取想要的数据. 下面是在 Python Shell 里的 urllib 的使用情况: Python ...
- python urllib模块的urlopen()的使用方法
Python urllib 库提供了一个从指定的 URL 地址获取网页数据,然后对其进行分析处理,获取想要的数据. 1.urllib模块urlopen()函数: urlopen(url, data=N ...
- [python]python urllib 模块
Urllib是python内置的HTTP请求库 包括以下模块 urllib.request 请求模块 urllib.error 异常处理模块 urllib.parse url解析模块 urllib.r ...
- python urllib模块学习笔记
这个模块是最基本最常用的,以前看过,总结一下 # coding : utf-8 import urllib url = 'http://cnblogs.com' #代理服务器 proxies = {' ...
- Python urllib – Python 3 urllib
Python urllib module allows us to access URL data programmatically. Python urllib模块允许我们以编程方式访问URL数据. ...
- Python核心模块——urllib模块
2019独角兽企业重金招聘Python工程师标准>>> urllib模块中的方法 1.urllib.urlopen(url[,data[,proxies]]) 打开一个url的方法, ...
- Python爬虫之urllib模块2
Python爬虫之urllib模块2 本文来自网友投稿 作者:PG-55,一个待毕业待就业的二流大学生. 看了一下上一节的反馈,有些同学认为这个没什么意义,也有的同学觉得太简单,关于Beautiful ...
最新文章
- 线段树扫描线求矩形周长详解
- 自定义配置webpack打包文件
- 分享31个非常有用的 HTML5 教程
- 通俗理解tcp/ip的三次握手和四次分手
- arcgis坡度结果有误或z因子前有感叹号
- 城市大脑标准体系与评价指标总体框架研究
- poj 3243 Clever Y(Baby-Step Giant-Step)
- java扩展数组_Java数组扩展
- 【语音隐写】基于matlab GUI DWT音频数字水印(带语音播报)【含Matlab源码 711期】
- 媒体查询简单应用——网页字体自适应窗口大小
- 火狐浏览器打印网页不全_win7系统打印网页显示不全的解决方法
- 维基百科怎么做_维基百科创建修改技巧分享!
- IT博客大赛——我的写博历程和拉票方法
- redhat下软件安装
- 重复照片查找软件Duplicate Photos Sweeper Mac
- matlab幂法与反幂法,matlab位移反幂法
- 专访海尔小帅影院创始人马文俊:硬件不是未来 需求才是未来
- Centos7(Linux)下安装Oracle11g
- 【英语:发音基础】A6.基础词汇-核心形容词
- android相册管理系统下载安装,云象相册管理
热门文章
- 文献管理软件--zotero基本使用
- 常用英文单词的标准缩写
- 百度数据实习生面试经历—2019.4.15
- Paper:LIME之《Why Should I Trust You? Explaining the Predictions of Any Classifier为什么要相信你?解释任何分类器的预测》翻
- 对于BOT机器人的个人看法
- Android应用程序安装过程解析(源码解析)
- MEM/MBA数学基础(02)实数运算和性质
- 图片识别软件有哪些?盘点三款好用的识别工具
- win10开启/取消自动关机
- HTML5期末大作业:甜品奶茶网站设计——大气的甜品奶茶(23页) web前端设计与开发期末作品/期末大作业