鱼C论坛

 找回密码
 立即注册
查看: 2197|回复: 11

[作品展示] 用python爬虫做了个小玩意,可以从网络下载文件

[复制链接]
发表于 2023-7-4 13:05:47 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 不二如是 于 2023-7-4 14:40 编辑

原本下载文件时要打开浏览器,再打开一系列网页,太麻烦了。所以就做了这个,无需打开浏览器即可下载
所需库:requests,tkinter
为了展示程序如何使用,在此提供几个提取码:
4nwnrp
8zq57z
x5w5ypq
93gn9r

屏幕截图 2023-07-04 130353.png

源代码(课余时间写的,比较简陋,主要是为了练习爬虫的使用)
from requests import *
from tkinter import *
from tkinter.filedialog import *
from tkinter.messagebox import *
sts=[]


def find_site(string):
    ans=[]
    for i in range(len(string)-6):
        if string[i]=='a':
            if string[i+1]==' ':
                if string[i+2]=='h':
                    if string[i+3]=='r':
                        if string[i+4]=='e':
                            if string[i+5]=='f':
                                ans.append(i)
    return ans
            

agent={'User-Agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36'}

def download():
    html=get('https://www.fuulea.com/class/task/download/?pin='+entry.get(),headers={'User-Agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36'}).text
    sts=find_site(html)
    if len(sts):showtext.set('       共有 '+str(len(sts))+' 个文件')
    else:showtext.set('       没有文件')
    for st in sts:
        for en in range(8,500):
            if html[st+en]=='"':
                site=html[st+8:st+en]
                break;
        filename='114514'
        for i in range(st+en,st+8,-1):
            if html[i]=='/':
                filename=html[i+1:st+en]
                print(filename)
                break;
        
        file=asksaveasfile(initialfile=filename)
        if file==None:continue
        else:file.detach().write(get(site,headers={'User-Agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36'}).content)


window=Tk()
window.title('fuulea downloader 2.2.34')
window.geometry('320x100')
showtext=StringVar()
showtext.set('       没有文件')
tqm=Label(window,text='请输入提取码:')
tqm.grid(column=0,row=0)
entry=Entry(window,width=15)
entry.grid(column=0,row=1)
btn=Button(window,text='   下载   ',command=download)
btn.grid(column=0,row=2)
show=Label(window,textvariable=showtext)
show.grid(column=1,row=1)

window.mainloop()

评分

参与人数 1荣誉 +5 贡献 +3 收起 理由
歌者文明清理员 + 5 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-7-4 13:15:04 | 显示全部楼层
这windows11的窗口……
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-4 13:17:34 | 显示全部楼层
等一下,你是额外减小? hello

评分

参与人数 1鱼币 +1 收起 理由
额外减小 + 1 ???

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-4 13:31:21 | 显示全部楼层
UA……macOS?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-4 16:09:20 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2023-7-4 19:28:57 | 显示全部楼层

在网上随便找的。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-4 19:32:44 | 显示全部楼层
额外减小 发表于 2023-7-4 19:28
在网上随便找的。

3.png

失踪人口回归
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-7-4 19:56:15 | 显示全部楼层
失踪人口回归

???我只不过是最近要考试没时间上论坛
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-7-4 19:56:40 | 显示全部楼层
当然,不可否认的是,今天是我期末考的第一天
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-4 19:56:49 | 显示全部楼层
额外减小 发表于 2023-7-4 19:56
???我只不过是最近要考试没时间上论坛

其实win11的ua是win10的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-7-4 19:57:42 | 显示全部楼层

天呐
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-5 14:36:04 | 显示全部楼层
好耶好耶
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-26 09:59

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表