python3对urllib和urllib2进行了重构

Posted Rogn

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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())

 

 

参考链接:https://blog.csdn.net/weixin_43550140/article/details/84563205

以上是关于python3对urllib和urllib2进行了重构的主要内容,如果未能解决你的问题,请参考以下文章

python3.4没有 urllib2

python3.5中没有urllib2怎么处理?

python3中urllib2找不到怎么办

python3中使用urllib进行https请求

python3.x以上 爬虫 使用问题 urllib(不能使用urllib2)

Python3.X如何下载安装urllib2包 ?