博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python3中利用Urllib进行表单数据提交(Get,Post)
阅读量:4045 次
发布时间:2019-05-24

本文共 1583 字,大约阅读时间需要 5 分钟。

最近做一个项目,由于有尽万张图片要下载,所以自然就想到写一个多线程的文件下载类,但是写好后又发现网站是会验证你的session的,没有登录显然是无法直接下载的
我在网上看了一下资料,基本上几种:
1.调用IE控件,进行数据提交
2.使用python3的http.client
3.使用urllib

我的博客:

 

之前写过一个spider,所以我还是继续用比较熟悉的urllib了(http.client在python的文档中也有介绍,不过我试了一下没有成功,也就没有继续研究了,相信应该也是可以的)

 

下面给出实现代码,多线程下载类之前的文章已经有了介绍,就不再写了

'''Created on 2011-11-11@author: PaulWangDescription:'''#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 urllibimport sysimport http.cookiejarimport MutiThreadDowncookie = 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={} )#自己封装的下载类

转载地址:http://gggdi.baihongyu.com/

你可能感兴趣的文章
Golang 数据可视化利器 go-echarts ,实际使用
查看>>
mysql 跨机器查询,使用dblink
查看>>
mysql5.6.34 升级到mysql5.7.32
查看>>
dba 常用查询
查看>>
Oracle 异机恢复
查看>>
Oracle 12C DG 搭建(RAC-RAC/RAC-单机)
查看>>
Truncate 表之恢复
查看>>
Oracle DG failover 后恢复
查看>>
mysql 主从同步配置
查看>>
为什么很多程序员都选择跳槽?
查看>>
mongdb介绍
查看>>
mongdb安装使用
查看>>
mongdb在java中的应用
查看>>
区块链技术让Yotta企业云盘为行政事业服务助力
查看>>
Yotta企业云盘更好的为媒体广告业服务
查看>>
Yotta企业云盘助力旅游行业新发展
查看>>
Yotta企业云盘助力科技行业创高峰
查看>>
Yotta企业云盘更好地为教育行业服务
查看>>
Yotta企业云盘怎么帮助到能源化工行业
查看>>
企业云盘如何助力商业新发展
查看>>