urllib模块

  • urllib.request模块
    • 版本介绍
    • 常用方法
    • 响应对象
  • urllib.parse模块
    • 常用方法
  • 请求方式

urllib.request模块

版本介绍

  • python3.0之前,通常为urllib2urllib结合使用
  • python3urlliburllib2合并成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

python urllib模块相关推荐

  1. [转载] Python—urllib模块

    参考链接: Python Urllib模块 urllib模块提供的上层接口使用户能够像读取本地文件一样读取WWW或FTP上的数据,使用起来比C++.C#等编程语言更加方便. 常用的方法如下: 1.ur ...

  2. pythonurllib模块-Python urllib模块 网络资源访问安装下载

    urllib是Python标准库最为常用的一个python网络应用资源访问的模块了,它可以让你像访问本地文本文件一样,读取网页的内容. Python urllib的作用是访问一些不需要验证的网络资源和 ...

  3. pythonurllib模块-Python urllib模块与urlopen()函数解析

    Python urllib 库提供了一个从指定的 URL 地址获取网页数据,然后对其进行分析处理,获取想要的数据. 下面是在 Python Shell 里的 urllib 的使用情况: Python ...

  4. python urllib模块的urlopen()的使用方法

    Python urllib 库提供了一个从指定的 URL 地址获取网页数据,然后对其进行分析处理,获取想要的数据. 1.urllib模块urlopen()函数: urlopen(url, data=N ...

  5. [python]python urllib 模块

    Urllib是python内置的HTTP请求库 包括以下模块 urllib.request 请求模块 urllib.error 异常处理模块 urllib.parse url解析模块 urllib.r ...

  6. python urllib模块学习笔记

    这个模块是最基本最常用的,以前看过,总结一下 # coding : utf-8 import urllib url = 'http://cnblogs.com' #代理服务器 proxies = {' ...

  7. Python urllib – Python 3 urllib

    Python urllib module allows us to access URL data programmatically. Python urllib模块允许我们以编程方式访问URL数据. ...

  8. Python核心模块——urllib模块

    2019独角兽企业重金招聘Python工程师标准>>> urllib模块中的方法 1.urllib.urlopen(url[,data[,proxies]]) 打开一个url的方法, ...

  9. Python爬虫之urllib模块2

    Python爬虫之urllib模块2 本文来自网友投稿 作者:PG-55,一个待毕业待就业的二流大学生. 看了一下上一节的反馈,有些同学认为这个没什么意义,也有的同学觉得太简单,关于Beautiful ...

最新文章

  1. 线段树扫描线求矩形周长详解
  2. 自定义配置webpack打包文件
  3. 分享31个非常有用的 HTML5 教程
  4. 通俗理解tcp/ip的三次握手和四次分手
  5. arcgis坡度结果有误或z因子前有感叹号
  6. 城市大脑标准体系与评价指标总体框架研究
  7. poj 3243 Clever Y(Baby-Step Giant-Step)
  8. java扩展数组_Java数组扩展
  9. 【语音隐写】基于matlab GUI DWT音频数字水印(带语音播报)【含Matlab源码 711期】
  10. 媒体查询简单应用——网页字体自适应窗口大小
  11. 火狐浏览器打印网页不全_win7系统打印网页显示不全的解决方法
  12. 维基百科怎么做_维基百科创建修改技巧分享!
  13. IT博客大赛——我的写博历程和拉票方法
  14. redhat下软件安装
  15. 重复照片查找软件Duplicate Photos Sweeper Mac
  16. matlab幂法与反幂法,matlab位移反幂法
  17. 专访海尔小帅影院创始人马文俊:硬件不是未来 需求才是未来
  18. Centos7(Linux)下安装Oracle11g
  19. 【英语:发音基础】A6.基础词汇-核心形容词
  20. android相册管理系统下载安装,云象相册管理

热门文章

  1. 文献管理软件--zotero基本使用
  2. 常用英文单词的标准缩写
  3. 百度数据实习生面试经历—2019.4.15
  4. Paper:LIME之《Why Should I Trust You? Explaining the Predictions of Any Classifier为什么要相信你?解释任何分类器的预测》翻
  5. 对于BOT机器人的个人看法
  6. Android应用程序安装过程解析(源码解析)
  7. MEM/MBA数学基础(02)实数运算和性质
  8. 图片识别软件有哪些?盘点三款好用的识别工具
  9. win10开启/取消自动关机
  10. HTML5期末大作业:甜品奶茶网站设计——大气的甜品奶茶(23页) web前端设计与开发期末作品/期末大作业