当前位置 主页 > 服务器问题 > win服务器问题汇总 >

    python2与python3爬虫中get与post对比解析

    栏目:win服务器问题汇总 时间:2019-11-20 22:15

    python2中的urllib2改为python3中的urllib.request

    四种方式对比:

    python2的get

    # coding=utf-8
    import urllib
    import urllib2
    word = urllib.urlencode({"wd":"百度"})
    url = 'http://www.baidu.com/s' + '?' + word
    request = urllib2.Request(url)
    print urllib2.urlopen(request).read().decode('utf-8')

    python3的get

    import urllib.request
    import urllib.parse
    data = urllib.parse.urlencode({'wd':'百度'})
    url = 'http://wwww.baidu.com/s?' + data
    # url = 'http://www.baidu.com/s?wd=' + urllib.parse.quote('百度')
    response = urllib.request.urlopen(url)
    print (response.read().decode('utf-8'))

    python2的post

    # coding=utf-8
    import urllib
    import urllib2
    formdata = {
      'name':'百度'
    }
    data = urllib.urlencode(formdata)
    request = urllib2.Request(url = "http://httpbin.org/post", data=data)
    response = urllib2.urlopen(request)
    print response.read()

    python3的post

    import urllib.parse
    import urllib.request
    
    data = bytes(urllib.parse.urlencode({'name':'百度'}),encoding='utf8')
    response = urllib.request.urlopen('http://httpbin.org/post',data=data)
    print(response.read().decode('utf-8'))

    import urllib.parse
    import urllib.request
    request = urllib.request.Request('http://httpbin.org/post',data=bytes(urllib.parse.urlencode({'name':'百度'}),encoding='utf8))'))
    response = urllib.request.urlopen(request)
    print (response.read().decode('utf-8'))

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