美文网首页
python3 urllib个人学习笔记

python3 urllib个人学习笔记

作者: xiaoxiaoyu_5be6 | 来源:发表于2017-06-16 16:30 被阅读0次

    get请求

    1. urllib.request.urlopen最简单的方式
    url='https://www.baidu.com/'
    response = urllib.request.urlopen(url)
    buff = response.read()
    #显示
    html = buff.decode("utf8")
    response.close()
    print(html)
    
    1. 使用Request的方式
    url='https://www.baidu.com/'
    #创建Request对象
    req=urllib.request.Request(url)
    response =urllib.request.urlopen(req)
    buff = response.read()
    html = buff .decode("utf8")
    response.close()
    print(the_page)
    
    1. 自己创建build_opener
    header=[('User-Agent','Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36')]
    创建opener对象
    opener=urllib.request.build_opener()
    opener.addheaders=header
    设置opener对象作为urlopen()使用的全局opener
    urllib.request.install_opener(opener)
    response =urllib.request.urlopen('http://www.baidu.com/')
    buff = response.read()
    html = buff .decode("utf8")
    response.close()
    print(the_page)
    

    post请求


    cookie的使用

    1. 获取Cookie保存到变量
    import urllib.request
    import http.cookie
    # 声明一个CookieJar对象实例来保存cookie
    cookie = cookielib.CookieJar()
    # 利用urllib库的HTTPCookieProcessor对象来创建cookie处理器
    handler = urllib2.HTTPCookieProcessor(cookie)
    # 通过handler来构建opener
    opener = urllib.request.build_opener(handler)
    # 此处的open方法同urllib2的urlopen方法,也可以传入request
    urllib.request.install_opener(opener)
    #使用opener或者urlretrieve方法来获取需要的网站cookie
    urllib.request.urlretrieve('http://www.baidu.com/','baidu.html')
    # data=urllib.request.urlopen('http://www.baidu.com/')
    
    1. 保存cookies到文件
    import http.cookie
    import urllib2
    # 设置保存cookie的文件,同级目录下的cookie.txt
    filename = 'cookie.txt'
    # 声明一个MozillaCookieJar对象实例来保存cookie,之后写入文件
    cookie = http.cookie.MozillaCookieJar(filename)
    # 利用urllib库的HTTPCookieProcessor对象来创建cookie处理器
    handler = urllib.request.HTTPCookieProcessor(cookie)
    # 通过handler来构建opener
    opener = urllib.request.build_opener(handler)
    # 创建一个请求,原理同urllib的urlopen
    response = opener.open("http://www.baidu.com")
    # 保存cookie到文件
    cookie.save(ignore_discard=True, ignore_expires=True)
    
    1. 从文件中获取cookies并访问
    import http.cookielib
    import urllib.request
    # 创建MozillaCookieJar实例对象
    cookie = http.cookie.MozillaCookieJar()
    # 从文件中读取cookie内容到变量
    cookie.load('cookie.txt', ignore_discard=True, ignore_expires=True)
    # 创建请求的request
    req = urllib.Request("http://www.baidu.com")
    # 利用urllib的build_opener方法创建一个opener
    opener = urllib.build_opener(urllib.request.HTTPCookieProcessor(cookie))
    response = opener.open(req)
    print (response.read())
    

    相关文章

      网友评论

          本文标题:python3 urllib个人学习笔记

          本文链接:https://www.haomeiwen.com/subject/hkdmqxtx.html