Python3如何对urllib和urllib2进行重构

 更新时间:2019年11月25日 14:26:30   作者:Rogn  
这篇文章主要介绍了Python3如何对urllib和urllib2进行重构,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

这篇文章主要介绍了Python3如何对urllib和urllib2进行重构,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

python3对urllib和urllib2进行了重构,拆分成了urllib.request,urllib.response, urllib.parse, urllib.error等几个子模块,这样的架构从逻辑和结构上说更加合理。urllib库无需安装,python3自带。python 3.x中将urllib库和urilib2库合并成了urllib库。 其中

  • urllib2.urlopen() 变成了 urllib.request.urlopen()
  • urllib2.Request() 变成了 urllib.request.Request()
  • python2中的 cookielib 改为 http.cookiejar.
  • import http.cookiejar 代替 import cookielib
  • urljoin 现在对应的函数是 urllib.parse.urljoin

代码如下

import urllib.request
import http.cookiejar

url ="http://www.baidu.com"

print ('第一种方法')
response1=urllib.request.urlopen(url)
print (response1.getcode())
print (len(response1.read()))

print ('第二种方法')
request=urllib.request.Request(url)
request.add_header("user-agent","Mozilla/5.0")#将爬虫伪装成浏览器
response2=urllib.request.urlopen(request)
print (response2.getcode())#打印状态码
print (len(response2.read()))#打印内容长度

print ('第三种方法')
cj = http.cookiejar.CookieJar()
opener = urllib.request.build_opener(urllib.request.HTTPCookieProcessor(cj))
urllib.request.install_opener(opener)
response3=urllib.request.urlopen(url)
print (response1.getcode())
print (cj)  #输出cookie
print (response1.read())

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Python pyecharts Map地图数据不显示的原因及完美解决

    Python pyecharts Map地图数据不显示的原因及完美解决

    这篇文章主要给大家介绍了关于Python pyecharts Map地图数据不显示的原因及解决办法,pyecharts是一款将python与echarts结合的强大的数据可视化工具,文中通过图文以及代码示例介绍的非常详细,需要的朋友可以参考下
    2023-12-12
  • python实现简易内存监控

    python实现简易内存监控

    这篇文章主要介绍了python实现简易内存监控,每隔3秒获取系统内存,当内存超过设定的警报值时,获取所有进程占用内存并发出警报声,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-06-06
  • Python使用Flask调用API接口的方法

    Python使用Flask调用API接口的方法

    使用Python的Flask框架构建API接口是一种常见的做法,因为Flask轻量级且易于使用,本文给大家介绍了Python使用Flask调用API接口的方法,文中通过代码示例讲解的非常详细,需要的朋友可以参考下
    2024-05-05
  • Python超详细讲解内存管理机制

    Python超详细讲解内存管理机制

    本章主要介绍Pyhon的内存管理,以Pyhon的计数机制作为引入,介绍Pyhon的内存管理方式,感兴趣的朋友来看看吧
    2022-06-06
  • 浅谈Pytorch中autograd的若干(踩坑)总结

    浅谈Pytorch中autograd的若干(踩坑)总结

    这篇文章主要介绍了Pytorch中autograd的若干(踩坑)总结,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-05-05
  • 解决tensorflow读取本地MNITS_data失败的原因

    解决tensorflow读取本地MNITS_data失败的原因

    这篇文章主要介绍了解决tensorflow读取本地MNITS_data失败的原因,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • python实现删除列表中某个元素的3种方法

    python实现删除列表中某个元素的3种方法

    这篇文章主要介绍了python实现删除列表中某个元素的3种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-01-01
  • Python协程 yield与协程greenlet简单用法示例

    Python协程 yield与协程greenlet简单用法示例

    这篇文章主要介绍了Python协程 yield与协程greenlet简单用法,简要讲述了协程的概念、原理,并结合实例形式分析了Python协程 yield与协程greenlet基本使用方法,需要的朋友可以参考下
    2019-11-11
  • python3实现短网址和数字相互转换的方法

    python3实现短网址和数字相互转换的方法

    这篇文章主要介绍了python3实现短网址和数字相互转换的方法,涉及Python操作字符串的相关技巧,非常具有实用价值,需要的朋友可以参考下
    2015-04-04
  • Anaconda入门使用总结

    Anaconda入门使用总结

    个人尝试了很多类似的发行版,最终选择了Anaconda,因为其强大而方便的包管理与环境管理的功能。该文主要介绍下Anaconda,对Anaconda的理解,并简要总结下相关的操作
    2018-04-04

最新评论