python3制作下载器_Python制作CSDN免积分下载器
复制代码 代码如下:
#-*-coding:utf-8-*-
#python3.3.5
import urllib.parse,urllib.request,http.cookiejar,io,webbrowser
import tkinter as tk
from tkinter import *
from tkinter.ttk import *
from urllib.request import urlopen
from PIL import Image, ImageTk
global root
#设置cookie
cookie = http.cookiejar.CookieJar()
cookieProc = urllib.request.HTTPCookieProcessor(cookie)
opener = urllib.request.build_opener(cookieProc)
urllib.request.install_opener(opener)
#根据路径和POST内容来提交表单
def getUrlRequest(iUrl,iStrPostData):
postdata = urllib.parse.urlencode(iStrPostData)
postdata = postdata.encode(encoding='UTF8')
header = {'User-Agent':'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)'}
req= urllib.request.Request(
url = iUrl,
data = postdata,
headers = header)
data = urllib.request.urlopen(req).read()
try:
data = data.decode('utf-8')
except:
data = data.decode('gbk', 'ignore')
return data
#获取验证码图片
def getCodeImg():
urlCode='http://csdn.juming.com/code.htm'
image_bytes = urlopen(urlCode).read()
# internal data file
data_stream = io.BytesIO(image_bytes)
# open as a PIL image object
pil_image = Image.open(data_stream)
tk_image = ImageTk.PhotoImage(pil_image)
return tk_image
#构建界面
def createGui(msg=''):
global root
root = tk.Tk()
root.title("CSDN免积分下载器 v0.1")
root.resizable(False, False) #禁止修改窗口大小
root.geometry('+400+250') #屏幕位置
#-------------------------------------------
tk_image = getCodeImg()
# put the image on a typical widget
frm_top_label = tk.Label(root,compound = 'top',image=tk_image,text="验证码图片",fg="blue",bg="brown",font=('Tempus Sans ITC',20))
frm_top_label.grid(row = 0, column = 0, padx = 15, pady = 2)
#-------------------------------------------
frm_bottom = tk.LabelFrame(root)
frm_bottom.grid(row = 1, column = 0, padx = 15, pady = 2)
frm_bottom_label_0 = tk.Label(frm_bottom,text="下载地址:", font=('Tempus Sans ITC',15))
frm_bottom_label_0.grid(row = 0, column = 0, padx = 5, pady = 2,sticky = "e") #控件右对齐
frm_bottom_label_1 = tk.Label(frm_bottom,text=" 验证码:", font=('Tempus Sans ITC',15))
frm_bottom_label_1.grid(row = 1, column = 0, padx = 5, pady = 2,sticky = "e")
frm_bottom_entry_var_0 = StringVar()
frm_bottom_entry_0 = tk.Entry(frm_bottom,textvariable=frm_bottom_entry_var_0)
frm_bottom_entry_0.grid(row = 0, column = 1, padx = 15, pady = 2)
frm_bottom_entry_var_1 = StringVar()
frm_bottom_entry_1 = tk.Entry(frm_bottom,textvariable=frm_bottom_entry_var_1) #设置密码输入框,熟悉show
frm_bottom_entry_1.grid(row = 1, column = 1, padx = 15, pady = 2)
frm_bottom_btn_0 = tk.Button(frm_bottom,text="下 载",relief=RIDGE,bd=4,width=10, font=('Tempus Sans ITC',12),command=lambda:downloadSource(frm_bottom_entry_var_0,frm_bottom_entry_var_1,frm_top_label,frm_foot_label))
frm_bottom_btn_0.grid(row = 3, column = 1, padx = 15, pady = 2,sticky = "w")
frm_foot_label = tk.Label(root,text=msg ,font=('Tempus Sans ITC',10))
frm_foot_label.grid(row = 3, column = 0, padx = 15, pady = 2)
root.mainloop()
#获取下载资源地址
def getSourceUrl(code,ziyuandz):
#资源信息
strLoginInfo = {'csdn_zh': '用户名',
'csdn_mm': '密码',
're_yzm':code,
'ziyuandz':ziyuandz #'http://download.csdn.net/detail/shinian1987/8430743' #
}
#下载资源地址
urlLogin='http://csdn.juming.com/index.htm'
returnHtml = str(getUrlRequest(urlLogin,strLoginInfo))
a = returnHtml.find('电信下载地址:') + 15
b = returnHtml.find('
网通下载地址:')
durl = returnHtml[a:b]
return durl
#下载资源
def downloadSource(frm_bottom_entry_var_0,frm_bottom_entry_var_1,frm_top_label,frm_foot_label):
try:
ziyuandz = frm_bottom_entry_var_0.get()
code = frm_bottom_entry_var_1.get()
durl = getSourceUrl(code,ziyuandz)
print('资源地址:'+ durl)
reMsg = "已经打开浏览器,请下载..."
yzm = durl.find("验证码")
#yzm += durl.find("验证码验证错误")
#yzm += durl.find("验证码输入不正确")
fs = durl.find("封杀本工具特意加")
gs = durl.find("正确的格式如")
jf = durl.find("成功获取到0点积分")
xzzy = durl.find("http:")
if fs > 0:
reMsg = "该资源被封杀,请稍后再下载..."
elif code=='':
reMsg = "验证码不能为空..."
elif ziyuandz=='':
reMsg = "下载地址不能为空..."
elif gs > 0:
reMsg = "资源地址错误,请重新输入..."
elif yzm > 0:
reMsg = "验证码输入错误..."
elif jf > 0:
reMsg = "积分不足,资源无法下载..."
elif xzzy >= 0:
webbrowser.open(durl, new=0, autoraise=True)
else:
reMsg = "资源错误或没有找到下载资源..."
#print(xzzy)
frm_foot_label['text'] = reMsg
tk_image = getCodeImg()
frm_top_label.configure(image = tk_image)
frm_top_label.image= tk_image
except:
root.destroy()
createGui('程序错误,请重新下载...')
#MAIN
createGui()
演示图片
以上就是本文的全部内容了,希望大家能够喜欢。
本文原创发布php中文网,转载请注明出处,感谢您的尊重!
相关文章
相关视频
python3制作下载器_Python制作CSDN免积分下载器相关推荐
- python制作软件下载_Python制作CSDN免积分下载器
CSDN免积分下载 你懂的. 1.输入资源地址如:http://download.csdn.net/download/gengqkun/4127808 2.输入验证码 3.点击下载,会弹出浏览器下载. ...
- php usc2,CSDN 免积分下载原理
马上注册,结交更多好友,享用更多功能^_^ 您需要 登录 才可以下载或查看,没有帐号?立即注册 x 最近看见很多网友都在发布csdn 免积分下载工具,以及网盘搜索神器,我在这里说明一下原理,这样大家也 ...
- CSDN免积分下载(ZT)
CSDN免积分下载 2018年07月06日 10:20:20 qq_19002157 阅读数:18566 现在官方手机绑定户已经不赠送积分了,vip又很不划算. 也有其它的方法获取积分,流程会麻烦一点 ...
- CSDN下载 | CSDN免积分下载 | CSDN积分攻略
有时候很急着下载资料,但又没有积分. 我发现了一个免积分下载的地方:点击打开链接 如果不着急的话,私信或留言我帮你. 转自:http://blog.csdn.net/skillart/article/ ...
- CSDN免积分下载攻略
攻略篇: 个人设置里进行手机绑定CSDN账户 奖励50分 (右上角设置-账户安全-手机绑定) 完成任务送若干分积分 http://task.csdn.net/ 上传有效资源获取积分(上传非法,广告资源 ...
- CSDN免积分下载 jerrycoding新增导航页
jerrycoding新增导航页 开发学习过程中,经常用到几个资源站.在线工具站,每次都要找半天.于是自己写了个导航,记录一下常用的网站.提升效率.EZ导航,让网上冲浪更EASY! 导航地址:http ...
- 20个HTML5/CSS3超酷应用(附免积分下载地址)
免积分下载地址:http://download.csdn.net/detail/yangwei19680827/6956667 1.HTML5视频破碎重组特效 强大视觉冲击 HTML5视频播放器很多, ...
- 下载频道2013下半年超人气精华资源汇总---全都是免积分下载。
下载频道2013下半年超人气精华资源汇总---全都是免积分下载. 十分感谢这些免积分分享精华资源的好人!! 转自:http://bbs.csdn.net/topics/390674613 Androi ...
- IT 认证考试--软考--(中级项目)嵌入式系统设计师2:考试大纲【含免帐号免积分下载链接】
一.考试说明 1.考试要求: (1)掌握科学基础知识: (2)掌握嵌入式系统的硬件.软件知识: (3)掌握嵌入式系统分析的方法: (4)掌握嵌入式系统设计与开发的方法及步骤: (5)掌握嵌入式系统实施 ...
最新文章
- Windows7无法自动将IP协议堆栈绑定到网络适配器的办法
- 由粗到精学习LVI-SAM:论文原文解析
- linux ubuntu ping命令安装
- Android service 和 client的进程通信和消息回调--AIDL
- tornado的websocket处理
- 网友直呼太贵!华为nova 8系列发布:麒麟985+66W快充
- 计算机无法从硬盘启动怎么办,电脑不能从硬盘启动应该怎么解决
- linux命令--vi,vim
- 精读-软件测试的艺术之模块测试及更高级别的测试
- 谷歌浏览器有哪些好用的屏蔽广告插件?怎么屏蔽烦人的百度广告?
- java if判断是否相等_java使用if语句判断字符串是否相等的方法
- windows安装hbase1.4.9
- 烽火通信力推SDN技术在网络中实现
- 实现ViewPager动态添加和删除页面
- 解决Tortoise git没有红色、绿色勾勾的问题
- 使用java对pdf文档进行分解和合成
- 【算法导论-34】红黑树、顺序统计树的Java实现
- 【公众号】JAVA微信公众号技术大佬文章精选
- 个人开发者做一款Android App,android如何开发一款赚钱app
- 李沐动手学深度学习V2-RNN循环神经网络原理