zoukankan      html  css  js  c++  java
  • python2与python3爬虫中get与post对比

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

    2. 四种方式对比:

    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'))
  • 相关阅读:
    Python DB API 连接数据库
    PHP base64多图片上传
    Linux vim编写程序时出现高亮字符,如何取消?
    CDN,内容分发网络。
    MySQL随机取数据
    tp5 快速接入扫码支付
    tp5定时器
    清空测试数据
    Centos Crontab查看状态和开启
    select2 使用
  • 原文地址:https://www.cnblogs.com/kolane/p/11538071.html
Copyright © 2011-2022 走看看