Python2和Python3中urllib库中urlencode的使用注意事项

 更新时间:2018年11月26日 12:00:27   作者:Leo-Woo  
这篇文章主要介绍了Python2和Python3中urllib库中urlencode的使用注意事项,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下

前言

在Python中,我们通常使用urllib中的urlencode方法将字典编码,用于提交数据给url等操作,但是在Python2和Python3中urllib模块中所提供的urlencode的包位置有些不同。

对于Python2

Python2中提供了urllib和urllib2两个模块。

urlencode方法所在位置为:

urllib.urlencode(values) # 其中values为所需要编码的数据,并且只能为字典

例如模拟登陆CSDN网站,示例程序如下

import urllib2
values = {"username":"962457839@qq.com","password":"XXXX"}
data = urllib.urlencode(values) 
url = "https://passport.csdn.net/account/login?from=http://my.csdn.net/my/mycsdn"
request = urllib2.Request(url,data)
response = urllib2.urlopen(request)
print response.read()

对于Python3

Python3中也有urllib和urllib3两个库,其中urllib几乎是Python2中urllib和urllib2两个模块的集合,所以我们最常用的urllib模块,而urllib3则作为一个拓展模块使用。

urlencode方法所在位置

urllib.parse.urlencode(values)

例如模拟登陆CSDN网站,示例程序如下:

from urllib import request
from urllib import parse
from urllib.request import urlopen
values = {'username': '962457839@qq.com', 'password': 'XXXX'}
data = parse.urlencode(values).encode('utf-8') # 提交类型不能为str,需要为byte类型
url = 'https://passport.csdn.net/account/login?from=http://my.csdn.net/my/mycsdn'
request = request.Request(url, data)
response = urlopen(request)
print(response.read().decode())

ps:修复在python3中import winrandom错误问题

问题:在windows的python3使用PyCrypto出现ImportError: No module named 'winrandom'错误

处理:修改python3安装目录下的  lib/Crypto/Random/OSRNG/nt.py 文件中找到

import winrandom

修改为

from Crypto.Random.OSRNG import winrandom

总结

以上所述是小编给大家介绍的Python2和Python3中urllib库中urlencode的使用注意事项,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • Python判断变量是否为Json格式的字符串示例

    Python判断变量是否为Json格式的字符串示例

    这篇文章主要给大家介绍了利用Python判断变量是否为Json格式的字符串的相关资料,文中给出了详细的示例代码供大家参考学习,需要的朋友们下面来一起看看吧。
    2017-05-05
  • 一文学会利用python解决文章付费限制问题

    一文学会利用python解决文章付费限制问题

    本篇文章主要介绍利用Python爬虫爬取付费文章,适合练习爬虫基础同学,文中描述和代码示例很详细,干货满满,感兴趣的小伙伴快来一起学习吧
    2023-05-05
  • 你所不知道的Python奇技淫巧13招【实用】

    你所不知道的Python奇技淫巧13招【实用】

    有时候你会看到很Cool的Python代码,你惊讶于它的简洁,你不由自主地赞叹:竟然还能这样写。其实,这些优雅的代码都要归功于Python的特性,只要你能掌握这些Pythonic的技巧,你一样可以写出像诗一样的Python代码。本文主要介绍Python应用的一些小技巧。一起来看下吧
    2016-12-12
  • Python实现扣除个人税后的工资计算器示例

    Python实现扣除个人税后的工资计算器示例

    这篇文章主要介绍了Python实现扣除个人税后的工资计算器,涉及Python流程控制与数学运算相关操作技巧,需要的朋友可以参考下
    2018-03-03
  • pytorch 数据处理:定义自己的数据集合实例

    pytorch 数据处理:定义自己的数据集合实例

    今天小编就为大家分享一篇pytorch 数据处理:定义自己的数据集合实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12
  • 详解Python if-elif-else知识点

    详解Python if-elif-else知识点

    本篇文章给大家总结了Python中if-elif-else的相关知识点以及语法相关内容,有兴趣的朋友参考学习下。
    2018-06-06
  • Python抓取淘宝下拉框关键词的方法

    Python抓取淘宝下拉框关键词的方法

    这篇文章主要介绍了Python抓取淘宝下拉框关键词的方法,涉及Python文件读写、正则匹配及字符串操作等相关技巧,需要的朋友可以参考下
    2015-07-07
  • Python正则表达式re模块详解(建议收藏!)

    Python正则表达式re模块详解(建议收藏!)

    正则表达式是用来匹配与查找字符串的,从网上爬取数据自然或多或少会用到正则表达式,python的正则表达式要先引入re模块,这篇文章主要给大家介绍了关于Python正则表达式re模块的相关资料,需要的朋友可以参考下
    2022-07-07
  • python实现爬虫下载漫画示例

    python实现爬虫下载漫画示例

    本文主要介绍了python实现爬虫下载漫画的示例,对游侠网的漫画资源进行解析,下载其全部章节漫画
    2014-02-02
  • TensorFlow tf.nn.softmax_cross_entropy_with_logits的用法

    TensorFlow tf.nn.softmax_cross_entropy_with_logits的用法

    这篇文章主要介绍了TensorFlow tf.nn.softmax_cross_entropy_with_logits的用法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-04-04

最新评论