urllibpython3
1. python3.4中urllib 有没有urlencode函数
python3.x中urlencode在urllib.parse模块中
使用方式urllib.parse.urlencode
urllib.parse.urlencode(query,
doseq=False, safe='', encoding=None,
errors=None, quote_via=quote_plus)
Convert a mapping object or a sequence of two-element tuples, which may
contain str
or bytes objects, to a “percent-encoded” string. If the
resultant string is to be used as a data for POST operation with urlopen() function, then it should be properly
encoded to bytes, otherwise it would result in a TypeError.
The resulting string is a series of key=value pairs separated by '&' characters, where
both key and value are quoted using the quote_via
function. By default, quote_plus() is used to quote the values, which
means spaces are quoted as a '+' character and ‘/’ characters are encoded as %2F, which follows the
standard for GET requests (application/x-www-form-urlencoded). An alternate
function that can be passed as quote_via is quote(), which will encode spaces as %20 and not encode ‘/’
characters. For maximum control of what is quoted, use quote and specify a value
for safe.
When a sequence of two-element tuples is used as the query argument,
the first element of each tuple is a key and the second is a value. The value
element in itself can be a sequence and in that case, if the optional parameter
doseq is evaluates to True, indivial key=value pairs separated
by '&' are
generated for each element of the value sequence for the key. The order of
parameters in the encoded string will match the order of parameter tuples in the
sequence.
The safe, encoding, and errors parameters are
passed down to quote_via (the encoding and errors
parameters are only passed when a query element is a str).
To reverse this encoding process, parse_qs() and parse_qsl() are provided in this mole to parse
query strings into Python data structures.
Refer to urllib examples to
find out how urlencode method can be used for generating query string for a URL
or data for POST.
Changed in version 3.2: Query parameter
supports bytes and string objects.
2. Python3提示错误 AttributeError: mole 'urllib.request' has no attribute 'HTTPHander' 怎么解决
你在哪里看到这样的写法的(教程链接等)
3. Python3 如何对url解码实现Python2中urllib.unquote的作用
url编码:
import urllib
url = 'http://test.com/s?wd=哈哈' #如果此网站编码是gbk的话,需要进行解码,从gbk解码成unicode,再从Unicode编码编码为utf-8格式。
url = url.decode('gbk', 'replace')
print urllib.quote(url.encode('utf-8', 'replace'))
4. python3 import urllib.request错误求解
有区别。python能导入的有mole和package,mole是一个py文件,package是一堆py文件的一个特殊文件夹,urllib就属于package。具体的度娘
5. python3怎么安装 urllib
不需要安装,自带的
直接import urllib就可以。
6. python3爬虫urllib.request.urlopen("网址").read() 本来是utf-8,为什么还要加上urlencode(“utf-8”)
你这行代码是不需要urlencode()的。
对于返回的request对象,其read()方法获得的其实是一个字节流对象,而非字符串对象,所以这时需要调用该字节流对象的decode()方法,按指定编码方式进行解码。
至于urlencode(),这是urllib中的一个函数,它的作用是将字符串进行url编码。这个编码其实就是个转义的过程,将那些因可能造成解释器误会或安全问题而不适合出现在请求中的符号进行转义,并且把超出url编码表的字符降维。