一个用来生成下载列表的bug程序[更新]

上网、浏览、聊天、下载等
回复
头像
lyreopera
帖子: 771
注册时间: 2005-05-23 13:38
来自: gdsz
送出感谢: 0
接收感谢: 0

一个用来生成下载列表的bug程序[更新]

#1

帖子 lyreopera » 2006-08-24 15:51

说明:
这个程序用来生成形如http://www.abc.com/image(*).jpg的下载列表,并配合downloader for x 下载,其中(*)表示一连串按顺序排列的数字,我把“http://www.abc.com/image”定义为地址的前置部分,“.jpg”定义为后置部分。生成的列表保存于与dllist相同目录的dllist.txt文件中。每次执行程序都会清空原来的dllist.txt,如果需要保存列表,重命名dllist.txt即可。
警告:
小心慎用!程序没有经过仔细调试和修正,有很多bug,已知的2个:1、地址的后置部分必须输入,否则会出错;2、如果地址中含有空格,结果将会出问题,请用%20代替空格= =另外,如果输入不合法的数值,程序会直接退出- -!
使用方法:
在终端输入./dllist执行,按屏幕提示输入,在得到dllist.list后,打开downloader for x(d4x),选择文件->在文件查找链接(E),定位到生成的dllist.txt,确认;这时候会出现一个链接列表的窗口,注意这个窗口不会出现在最前面(估计是d4x的bug),到任务栏去找,确认即可开始下载列表。
举例:
lyre@lyre-desktop:~$ ./dllist
本程序用来生成下载列表
请输入地址的前面部分:
http://images.17173.com/eq2/images/art/ ... ne/drawing_
请输入地址的后面部分:
.jpg
你输入的地址是:http://images.17173.com/eq2/images/art/ ... ng_(*).jpg
请输入(*)的位数(1-3):2
请输入(*)的起始数值(0-998):1
请输入(*)的末尾数值(1-999):58

成功输出!
列表保存在与当前程序相同目录的dllist.txt文件中。
如果需要保存列表请重命名dllist.txt,
每次执行程序都会清空原有的dllist.txt。

lyre@lyre-desktop:~$

此时生成的dllist.txt内容为
导入d4x下载即可。
附件
dllist.tar.gz
程序和源代码
(5.62 KiB) 下载 28 次
上次由 lyreopera 在 2006-08-26 13:47,总共编辑 2 次。
……
头像
lyreopera
帖子: 771
注册时间: 2005-05-23 13:38
来自: gdsz
送出感谢: 0
接收感谢: 0

#2

帖子 lyreopera » 2006-08-24 16:05

昨天想下载一堆图片的时候,实在没有找到有类似flashget的批量下载的功能,并且firefox的flashgot也无能为力。正想要不要重启到windows用flashget下载。我突然想起来我心目中的linux社区:“在这个社区里,用户同时也是作者,如果某个软件达不到要求,你要做的就是改进这个软件或者,自己重新写一个。”

所以我就用贫瘠的c++知识写了这个东西,写的时候发现比想象中简单很多。别笑,我唯一懂点皮毛的就只有c/c++……代码写的很糟糕,不过总算运行起来了。


顺便求个代码:怎么判断输入的数字是几位数?


另外,似乎在使用cin << 时,必须要输入点东西,不然不能继续;能不能做到不输入任何东西,直接回车,并且让程序继续运行?
……
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙
送出感谢: 4 次
接收感谢: 256 次

#3

帖子 eexpress » 2006-08-24 18:35

for ..... wget啊。 我以前搞过,下图片。监视wget的输出来查看是否存在相应文件。
c的一般是strlen()取长度。
● 鸣学
头像
lyreopera
帖子: 771
注册时间: 2005-05-23 13:38
来自: gdsz
送出感谢: 0
接收感谢: 0

#4

帖子 lyreopera » 2006-08-26 13:51

eexpress 写了:for ..... wget啊。 我以前搞过,下图片。监视wget的输出来查看是否存在相应文件。
c的一般是strlen()取长度。
strlen似乎只能作用于char *
最后用了一个麻烦的循环实现了取整数位数的功能。
……
回复

回到 “因特网相关软件”