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爬虫:url中带字典列表参数的编码转换方法
平时见到的url参数都是key-value, 一般vlaue都是字符串类型的 如果有幸和我一样遇到字典,列表等参数,那么就幸运了 python2代码 import json from urllib import urlencode # 1. 直接将url编码 params = { "name": "Tom", "hobby": ["ball", "swimming"], "books":
-
python采集百度搜索结果带有特定URL的链接代码实例
这篇文章主要介绍了python采集百度搜索结果带有特定URL的链接代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 #coding utf-8 import requests from bs4 import BeautifulSoup as bs import re from Queue import Queue import threading from argparse import ArgumentParser arg = Argu
-
Python3模拟curl发送post请求操作示例
本文实例讲述了Python3模拟curl发送post请求操作.分享给大家供大家参考,具体如下: 后端给的接口样式: curl "http://65.33.44.43:509/pre/update" -H "Content-Type: text/json" -d '{"TYPE":"PRE-FILTER_UPDATE", "DATA":[{"SN":"1E3006CEBFE00&
-
python采集百度百科的方法
本文实例讲述了python采集百度百科的方法.分享给大家供大家参考.具体如下: #!/usr/bin/python # -*- coding: utf-8 -*- #encoding=utf-8 #Filename:get_baike.py import urllib2,re import sys def getHtml(url,time=10): response = urllib2.urlopen(url,timeout=time) html = response.read() respon
-
解决安装python3.7.4报错Can''t connect to HTTPS URL because the SSL module is not available
简述 从官网下载了Python3.7.4,直接编译安装后,使用pip3出现了报错信息: Can't connect to HTTPS URL because the SSL module is not available 错误原因 在Python3.7之后的版本,依赖的openssl,必须要是1.1或者1.0.2之后的版本,或者安装了2.6.4之后的libressl. image.png 而本地的openssl依然是1.0.1e的. [root@localhost ~]# openssl ver
-
python re正则匹配网页中图片url地址的方法
最近写了个python抓取必应搜索首页http://cn.bing.com/的背景图片并将此图片更换为我的电脑桌面的程序,在正则匹配图片url时遇到了匹配失败问题. 要抓取的图片地址如图所示: 首先,使用这个pattern reg = re.compile('.*g_img={url: "(http.*?jpg)"') 无论怎么匹配都匹配不到,后来把网页源码抓下来放在notepad++中查看,并用notepad++的正则匹配查找,很轻易就匹配到了,如图: 后来我写了个测试代码,把图片地
-
python爬虫之urllib3的使用示例
Urllib3是一个功能强大,条理清晰,用于HTTP客户端的Python库.许多Python的原生系统已经开始使用urllib3.Urllib3提供了很多python标准库urllib里所没有的重要特性: 线程安全 连接池 客户端SSL/TLS验证 文件分部编码上传 协助处理重复请求和HTTP重定位 支持压缩编码 支持HTTP和SOCKS代理 一.get请求 urllib3主要使用连接池进行网络请求的访问,所以访问之前我们需要创建一个连接池对象,如下所示: import urllib3 url
-
python 重定向获取真实url的方法
楼主在做公司项目的时候遇到url重定向的问题,因此上网简单查找,作出如下结果 由于使用的是语言是python所以以下是python的简单解决方案 http_headers = { 'Accept': '*/*','Connection': 'keep-alive', 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.116
-
Python2和Python3中urllib库中urlencode的使用注意事项
前言 在Python中,我们通常使用urllib中的urlencode方法将字典编码,用于提交数据给url等操作,但是在Python2和Python3中urllib模块中所提供的urlencode的包位置有些不同. 对于Python2 Python2中提供了urllib和urllib2两个模块. urlencode方法所在位置为: urllib.urlencode(values) # 其中values为所需要编码的数据,并且只能为字典 例如模拟登陆CSDN网站,示例程序如下 import url
-
Python2/3中urllib库的一些常见用法
什么是Urllib库 Urllib是Python提供的一个用于操作URL的模块,我们爬取网页的时候,经常需要用到这个库. 升级合并后,模块中的包的位置变化的地方较多. urllib库对照速查表 Python2.X Python3.X urllib urllib.request, urllib.error, urllib.parse urllib2 urllib.request, urllib.error urllib2.urlopen urllib.request.urlopen urllib.
-
python中pandas库中DataFrame对行和列的操作使用方法示例
用pandas中的DataFrame时选取行或列: import numpy as np import pandas as pd from pandas import Sereis, DataFrame ser = Series(np.arange(3.)) data = DataFrame(np.arange(16).reshape(4,4),index=list('abcd'),columns=list('wxyz')) data['w'] #选择表格中的'w'列,使用类字典属性,返回的是S
-
Python爬虫中urllib库的进阶学习
urllib的基本用法 urllib库的基本组成 利用最简单的urlopen方法爬取网页html 利用Request方法构建headers模拟浏览器操作 error的异常操作 urllib库除了以上基础的用法外,还有很多高级的功能,可以更加灵活的适用在爬虫应用中,比如: 使用HTTP的POST请求方法向服务器提交数据实现用户登录 使用代理IP解决防止反爬 设置超时提高爬虫效率 解析URL的方法 本次将会对这些内容进行详细的分析和讲解. POST请求 POST是HTTP协议的请求方法之一,也是比较
-
Python2.X/Python3.X中urllib库区别讲解
本文介绍urllib库在不同版本的Python中的变动,并以Python3.X讲解urllib库的相关用法. urllib库对照速查表 Python2.X Python3.X urllib urllib.request, urllib.error, urllib.parse urllib2 urllib.request, urllib.error urllib2.urlopen urllib.request.urlopen urllib.urlencode urllib.parse.urlenc
-
Python中requests库的用法详解
目录 一.requests库 安装 请求 响应 二.发送get请求 1.一个带参数的get请求: 2.响应json 3.添加头信息headers 4.添加和获取cookie信息 三.发送post请求 1.一个带参数的Post请求: 2.传递JSON数据 3.文件上传 四.高级应用 1.session会话维持 2.身份验证 3.代理设置 4.证书验证 5.超时时间 6.重定向与请求历史 7.其他 五.异常处理 六.requests库和urllib包对比 1.使用urllib.request 2.使
-
Python爬虫之urllib库详解
目录 一.说明: 二.urllib四个模块组成: 三.urllib.request 1.urlopen函数 2.response 响应类型 3.Request对象 4.高级请求方式 四.urllib.error 五.URL解析urllib.parse 六.urllib.robotparser 总结 一.说明: urllib库是python内置的一个http请求库,requests库就是基于该库开发出来的,虽然requests库使用更方便,但作为最最基本的请求库,了解一下原理和用法还是很有必要的.
-
python爬虫之urllib库常用方法用法总结大全
Urllib 官方文档地址:https://docs.python.org/3/library/urllib.html urllib提供了一系列用于操作URL的功能. 本文主要介绍的是关于python urllib库常用方法用法的相关内容,下面话不多说了,来一起看看详细的介绍吧 1.读取cookies import http.cookiejar as cj,urllib.request as request cookie = cj.CookieJar() handler = request.HT
-
关于python爬虫应用urllib库作用分析
目录 一.urllib库是什么? 二.urllib库的使用 urllib.request模块 urllib.parse模块 利用try-except,进行超时处理 status状态码 && getheaders() 突破反爬 一.urllib库是什么? urllib库用于操作网页 URL,并对网页的内容进行抓取处理 urllib包 包含以下几个模块: urllib.request - 打开和读取 URL. urllib.error - 包含 urllib.request 抛出的异常. ur
-
Python2和Python3中print的用法示例总结
前言 最近在学习python,对于python的print一直很恼火,老是不按照预期输出.在python2中print是一种输出语句,和if语句,while语句一样的东西,在python3中为了填补python2的各种坑,将print变为函数,因此导致python3中print的一些使用和python2很不一样.下面就来给大家详细的总结了关于Python2和Python3中print的用法,话不多说了,来一起看看详细的介绍吧. 一.Python2中的print用法 在Python2 中 prin
随机推荐
- Mac上Oracle数据库的安装及过程中一些问题的解决
- Python利用前序和中序遍历结果重建二叉树的方法
- asp.net(c#)中取得文件物理路径
- 老生常谈javascript中逻辑运算符&&和||的返回值问题
- ASP.NET MVC后台参数验证的几种方式
- asp.net GridView控件鼠标移动某行改变背景颜色(方法一)
- 从零开始学YII2框架(五)快速生成代码工具 Gii 的使用
- 浅谈Volley加载不出图片的问题
- PHP生成指定长度随机数最简洁的方法
- 基于C# 网站地图制作
- python将html转成PDF的实现代码(包含中文)
- javascript中怎么做对象的类型判断
- 特络伊木马如何利用文件关联和设置名
- C# Windows API应用之基于FlashWindowEx实现窗口闪烁的方法
- Linux终端提示符(prompt)不如期生效的原因分析与解决
- Java设计模式之单例模式实例分析
- python 实现网上商城,转账,存取款等功能的信用卡系统
- ListView异步加载图片实现思路(优化篇)
- Android利用listview控件操作SQLite数据库实例
- vue中简单弹框dialog的实现方法