当前位置 主页 > 服务器问题 > Linux/apache问题 >

    Python3如何对urllib和urllib2进行重构

    栏目:Linux/apache问题 时间:2019-11-26 10:36

    这篇文章主要介绍了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())

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