Python3中利用Urllib进行表单数据提交(Get,Post)
来源:互联网 发布:ubuntu高开发 编辑:程序博客网 时间:2024/06/01 10:53
Python3中利用Urllib进行表单数据提交(Get,Post)
分类: python2011-11-12 16:33 5883人阅读 评论(1) 收藏 举报
python多线程outputurlemailsession
最近做一个项目,由于有尽万张图片要下载,所以自然就想到写一个多线程的文件下载类,但是写好后又发现网站是会验证你的session的,没有登录显然是无法直接下载的
我在网上看了一下资料,基本上几种:
1.调用IE控件,进行数据提交
2.使用python3的http.client
3.使用urllib
我的博客:http://www.paulwangblog.com/
之前写过一个spider,所以我还是继续用比较熟悉的urllib了(http.client在python的文档中也有介绍,不过我试了一下没有成功,也就没有继续研究了,相信应该也是可以的)
下面给出实现代码,多线程下载类之前的文章已经有了介绍,就不再写了
- '''''
- Created on 2011-11-11
- @author: PaulWang
- Description:
- '''
- #import urllib.request,urllib.parse
- #
- #import http.client
- #
- #params = urllib.parse.urlencode({'@email': '112233@gmail.com', '@password': '1212123', '@action': 'https://system.netsuite.com/app/login/nllogin.nl'})
- #headers = {"Content-type": "application/x-www-form-urlencoded"}
- #
- #
- #conn = http.client.HTTPConnection("www.netsuite.com")
- #conn.request("POST", "",params,headers)
- #r1 = conn.getresponse()
- #print(r1.status, r1.reason)
- #data = r1.read()
- #print(data)
- #conn.close()
- import urllib
- import sys
- import http.cookiejar
- import MutiThreadDown
- cookie = http.cookiejar.CookieJar() #保存cookie,为登录后访问其它页面做准备
- cjhdr = urllib.request.HTTPCookieProcessor(cookie)
- opener = urllib.request.build_opener(cjhdr)
- url = "https://system.netsuite.com/pages/customerlogin.jsp?country=US"
- postdata = urllib.parse.urlencode({'email': 'yicui49@gmail.com', 'password': 'fashlets123', 'Submit':''})
- postdata = postdata.encode('utf-8')
- res = urllib.request.urlopen(url,postdata)
- print(res.status, res.reason)
- if( res.status != 200 ):
- exit()
- print('ok')
- url = "https://system.netsuite.com/core/media/media.nl?id=32486&c=776164&h=686103757f3df97d4a92"
- output = '1234567.jpg'
- MutiThreadDown.download( url, output, blocks=1, proxies={} )#自己封装的下载类
0 0
- Python3中利用Urllib进行表单数据提交(Get,Post)
- Python3中利用Urllib进行表单数据提交(Get,Post)
- Python3中利用Urllib进行表单数据提交(Get,Post)
- Android 使用Post与Get方法进行表单提交数据
- 表单中post与get进行提交的区别
- android利用httpclient实现post、get请求restful接口进行json和form表单数据提交等公共方法类
- HTML中<form>表单利用 post 提交与利用 get 提交时的区别
- php 利用fsockopen GET/POST 提交表单及上传文件
- php 利用fsockopen GET/POST 提交表单及上传文件
- PHP 利用 fsockopen GET/POST 提交表单及上传文件
- qt post,get进行表单提交的demo
- Python3 urllib GET方式获取数据
- python get,post提交表单
- python get,post提交表单
- 表单提交get和post
- 表单提交数据get请求和post请求的区别
- 表单提交数据get请求和post请求的区别
- 表单提交数据get请求和post请求的区别
- 利用Spring实现观察者模式(Oberver)
- Android手机终端与PC实现socket通讯 Socket编程
- abort信号捕捉
- 【日常学习】【模拟双向链表】【疑问】Uva12657 - Boxes in a Line题解
- Android消息推送资料收集
- Python3中利用Urllib进行表单数据提交(Get,Post)
- 解决 repo sync error: Exited sync due to fetch errors
- java内存模型之四---volatile
- Java NIO系列教程(五) 通道之间的数据传输
- IOS -- ViewController的LoadView和ViewDidLoad方法相关知识总结
- 操作系统简述
- java的OpenGL学习资料
- CentOS中安装SVN服务
- cocos2dx 2.2.6编译记录(1)