python2与python3爬虫中get与post对比解析

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

四种方式对比:

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'))

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

时间: 2019-09-17

对Python3中的print函数以及与python2的对比分析

本文首先介绍在python3中print函数的应用,然后对比在pyhton2中的应用.(本文作者所用版本为3.6.0) 首先我们通过help(print)命令来查看print函数的相关信息,(注意在python2中print不是函数,不能通过help获得相关信息). 第一行告诉我们print在python3中是一个内建函数. 然后是这个函数的调用格式,以及各参数的意义. 这个函数可以将values(可以是多个用逗号隔开的值)输出到一个数据流文件,默认的输出格式是标准输出(sys.stdout).

python爬虫中get和post方法介绍以及cookie作用

首先确定你要爬取的目标网站的表单提交方式,可以通过开发者工具看到.这里推荐使用chrome. 这里我用163邮箱为例 打开工具后再Network中,在Name选中想要了解的网站,右侧headers里的request method就是提交方式.status如果是200表示成功访问下面的有头信息,cookie是你登录之后产生的存储会话(session)信息的.第一次访问该网页需要提供用户名和密码,之后只需要在headers里提供cookie就可以登陆进去. 引入requests库,会提供get和po

Python 2与Python 3版本和编码的对比

一.版本对比 首先要说的是,Python的版本,目前主要分为两大类: Python 2.x的版本的,被称为Python2:是目前用的最广泛的,比如Python 2.7.3. Python 3.x的版本的,被称为Python3:是最新的版本的,比如Python 3.1.长远来看,也算是以后的趋势. [Python2和Python3之间的区别] 1.从Python2到Python3,很多基本的函数接口变了,甚至是,有些库或函数被去掉了,改名了 Python2和Python3,在很多基本的,最常用的函

python利用urllib和urllib2访问http的GET/POST详解

前言 本文主要给大家介绍了关于python如何访问http的GET/POST的相关内容,使用urllib和urllib2,可以轻松实现对http的访问,下面话不多说了,来一起看看详细的介绍吧. 示例详解 以下给个例子,实现对http://127.0.0.1/cgi/test的GET与POST 使用的是平常意义上的query string POST接受json 其中, urllib2的Request方法如果只带一个参数是GET方法,但如果带两个参数,则为http的POST方法,第二个参数为POST

Python 3 判断2个字典相同

下面先给大家介绍下Python 3 判断2个字典相同的方法, Python自带的数据结构dict非常好用,之前不知道怎么比较2个字典是否相同,做法是一个一个key比较过去... 现在想到可以直接用==进行判断!!! a = dict(one=1, two=2, three=3) b = {'one': 1, 'two': 2, 'three': 3} c = dict(zip(['one', 'two', 'three'], [1, 2, 3])) d = dict([('two', 2), (

Python3.6通过自带的urllib通过get或post方法请求url的实例

废话不多说,直接上代码: # coding:utf-8 from urllib import request from urllib import parse url = "http://10.1.2.151/ctower-mall-c/sys/login/login.do" data = {"id":"wdb","pwd":"wdb"} params="?" for key in da

详解Python3网络爬虫(二):利用urllib.urlopen向有道翻译发送数据获得翻译结果

上一篇内容,已经学会了使用简单的语句对网页进行抓取.接下来,详细看下urlopen的两个重要参数url和data,学习如何发送数据data 一.urlopen的url参数 Agent url不仅可以是一个字符串,例如:http://www.baidu.com.url也可以是一个Request对象,这就需要我们先定义一个Request对象,然后将这个Request对象作为urlopen的参数使用,方法如下: # -*- coding: UTF-8 -*- from urllib import re

Python3使用requests包抓取并保存网页源码的方法

本文实例讲述了Python3使用requests包抓取并保存网页源码的方法.分享给大家供大家参考,具体如下: 使用Python 3的requests模块抓取网页源码并保存到文件示例: import requests html = requests.get("http://www.baidu.com") with open('test.txt','w',encoding='utf-8') as f: f.write(html.text) 这是一个基本的文件保存操作,但这里有几个值得注意的

Python3爬虫发送请求的知识点实例

使用urllib的request模块,我们可以方便地实现请求的发送并得到响应,本节就来看下它的具体用法. 1. urlopen() urllib.request模块提供了最基本的构造HTTP请求的方法,利用它可以模拟浏览器的一个请求发起过程,同时它还带有处理授权验证(authenticaton).重定向(redirection).浏览器Cookies以及其他内容. 下面我们来看一下它的强大之处.这里以Python官网为例,我们来把这个网页抓下来: import urllib.request re

javascript带回调函数的异步脚本载入方法实例分析

本文实例讲述了javascript带回调函数的异步脚本载入方法.分享给大家供大家参考.具体实现方法如下: var Loader = function () { } Loader.prototype = { require: function (scripts, callback) { this.loadCount = 0; this.totalRequired = scripts.length; this.callback = callback; for (var i = 0; i < scri

PHP使用pear自带的mail类库发邮件的方法

本文实例讲述了PHP使用pear自带的mail类库发邮件的方法.分享给大家供大家参考.具体如下: 这里用pear自带的mail类库发邮件,可以用pear install 命令来安装对应的库 body = "<a href='http://www.baidu.com/' target='_blank'>点我重新生成密码</a>"; sendMail_smtp("xxxxxxxx@qq.com",'测试',$body); function sen

Python urllib、urllib2、httplib抓取网页代码实例

使用urllib2,太强大了 试了下用代理登陆拉取cookie,跳转抓图片...... 文档:http://docs.python.org/library/urllib2.html 直接上demo代码了 包括:直接拉取,使用Reuqest(post/get),使用代理,cookie,跳转处理 #!/usr/bin/python # -*- coding:utf-8 -*- # urllib2_test.py # author: wklken # 2012-03-17 wklken@yeah.ne

JS+CSS实现带关闭按钮DIV弹出窗口的方法

本文实例讲述了JS+CSS实现带关闭按钮DIV弹出窗口的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: <html> <head> <title>JS+CSS实现带关闭按钮的DIV弹出窗口</title> <script>     function locking(){      document.all.ly.style.display="block";      document.all.ly.sty

PHP带节点操作的无限分类实现方法详解

本文实例讲述了PHP带节点操作的无限分类实现方法.分享给大家供大家参考,具体如下: 包含(移动多个节点:移动单个节点:删除多个节点:删除单个节点:新增节点),另附数据库表结构 一.db sql语句 //db used for php无限分类 create table tree( id int(10) not null primary key auto_increment, name varchar(255) not null, lft int(10) not null default 0, rg

Python3 中把txt数据文件读入到矩阵中的方法

1.实例程序: ''' 数据文件:2.txt内容:(以空格分开每个数据) 1 2 2.5 3 4 4 7 8 7 ''' from numpy import * A = zeros((3,3),dtype=float) #先创建一个 3x3的全零方阵A,并且数据的类型设置为float浮点型 f = open('2.txt') #打开数据文件文件 lines = f.readlines() #把全部数据文件读到一个列表lines中 A_row = 0 #表示矩阵的行,从0行开始 for line