urllib.urlencode()

urllib 和 urllib2 都是接受URL请求的相关模块,但是提供了不同的功能。两个最显著的不同如下:
  • urllib 仅可以接受URL,不能创建 设置了headers 的Request 类实例;

  • 但是 urllib 提供urlencode方法用来GET查询字符串的产生,而 urllib2 则没有。(这是 urllib 和 urllib2 经常一起使用的主要原因)

  • 编码工作使用urllib的urlencode()函数,帮我们将key:value这样的键值对转换成"key=value"这样的字符串,解码工作可以使用urllib的unquote()函数。(注意,不是urllib2.urlencode() )

#!C:\Python36\python.exe
# -*- coding:utf-8 -*-
import urllib2
import urllib


def getInfo(url):
    request = urllib2.Request(url)
    return urllib2.urlopen(request).read()


if __name__ == '__main__':
    url = "http://www.baidu.com/s"
    keyWord = {"wd": "谭"}
    kw = urllib.urlencode(keyWord)  # 编码
    # print kw
    # print urllib.unquote(kw)  # 解码
    newurl = url + "?" + kw
    print getInfo(newurl)

results matching ""

    No results matching ""