当前位置: 首页 > 编程笔记 >

Python3如何对urllib和urllib2进行重构

宦翔飞
2023-03-14
本文向大家介绍Python3如何对urllib和urllib2进行重构,包括了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())

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程

 类似资料:
  • 这个面试官确实问过,当时答的urllib2可以Post而urllib不可以. urllib提供urlencode方法用来GET查询字符串的产生,而urllib2没有。这是为何urllib常和urllib2一起使用的原因。 urllib2可以接受一个Request类的实例来设置URL请求的headers,urllib仅可以接受URL。这意味着,你不可以伪装你的User Agent字符串等。

  • 问题内容: 我有一段代码,我不知道如何进行单元测试!该模块使用urllib2从外部XML提要(twitter,flickr,youtube等)中提取内容。这是一些伪代码: 我的第一个想法是腌制响应并加载它以进行测试,但是显然urllib的响应对象是不可序列化的(它引发了异常)。 仅从响应主体保存XML是不理想的,因为我的代码也使用标头信息。它旨在作用于响应对象。 当然,在单元测试中依赖外部数据源是

  • 问题内容: 是否支持DELETE或PUT方法?如果是,请提供任何示例。我需要使用活塞API。 问题答案: 您可以使用httplib来做到这一点: 另外,请查看此问题。可接受的答案显示了一种向urllib2添加其他方法的方法:

  • 本文向大家介绍Python库urllib与urllib2主要区别分析,包括了Python库urllib与urllib2主要区别分析的使用技巧和注意事项,需要的朋友参考一下 作为一个Python菜鸟,之前一直懵懂于urllib和urllib2,以为2是1的升级版。今天看到老外写的一篇《Python: difference between urllib and urllib2》才明白其中的区别 You

  • 问题内容: 在Python,有什么之间的差异模块?为什么有三个?他们似乎在做同样的事情… 问题答案: 我知道已经有人说过了,但我强烈建议你使用软件包。 如果你使用的是除python之外的语言,则可能是在考虑并且易于使用,代码不多且功能强大,这就是我以前的想法。但是该程序包是如此有用且太短,以至于每个人都应该使用它。 首先,它支持完全宁静的API,并且非常简单: 无论是GET / POST,你都无需

  • 本文向大家介绍Python urllib、urllib2、httplib抓取网页代码实例,包括了Python urllib、urllib2、httplib抓取网页代码实例的使用技巧和注意事项,需要的朋友参考一下 使用urllib2,太强大了 试了下用代理登陆拉取cookie,跳转抓图片...... 文档:http://docs.python.org/library/urllib2.html 直接上