当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 3 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 批量下载图片
帖子发表于 : 2012-12-03 20:52 

注册: 2012-11-28 9:07
帖子: 20
系统: 12.04+win7
送出感谢: 1
接收感谢: 1
一开始想的很简单,火狐的插件应该很简单的搞定,但是错了,该系统下没有发现支持递归下载的插件。
打算用wget扒,发现防扒很普遍。
装了downthemall,可以把链接的网页文件下载下来。然后取出图片地址再用wget下载。其实很简单,用个grep就可以轻松匹配出来。但是我不知道有-o这么个参数啊!搞了一天啊,五六个小时就这么砸下去了。sed和awk通读一遍啊,擦!取个字串太低级怎么着?没一个教程写,全是替换!到现在没搞清这个-o到底是什么来历,grep的每个教程和说明都不写啊!到底是我的搜索关键字有问题,还是搜索引擎的排名有问题,还是vpn没流量了,还是纯粹打开的时机不对啊!!!
好吧我夯一下吧,骂两句败败火。
grep -o -h "http.\{10,100\}jpg" ./*.htm* | wget -i-
o只输出匹配字符 h不显示文件名 10,100防止取的太大,-i-下载在FILE文件中出现的URLs,i后面的杠表示从标准输入中获得文件。
继续研究怎么能递归下载链接,哼!

三楼用pl脚本怎么搞,不懂,有空去学学。不过wget递归下载已经搞通了。把http请求发送的各种头文件cookie什么的写全就好了。研究http的协议,再理解一下浏览器的工作原理就好了。

为了让preg非贪婪,用sed搞了一下,这样虽然比\{10,100\}长了点,不过适应性更好了:
grep -Po -h "http.*?jpg" ./* |sed "s/http.*http/http/" |wget -i-
是不是可以直接用sed解决嫩?再想想。


最后由 qof3990 编辑于 2012-12-05 9:51,总共编辑了 5 次

页首
 用户资料  
 
2 楼 
 文章标题 : Re: 批量下载图片
帖子发表于 : 2012-12-03 21:07 
头像

注册: 2006-02-28 3:11
帖子: 2470
送出感谢: 0 次
接收感谢: 0 次
给个目标网址


_________________
一梦三年,
松风依旧,
萝月何曾老.


灵幽听微, 谁观玉颜?
灼灼春华, 绿叶含丹.


页首
 用户资料  
 
3 楼 
 文章标题 : Re: 批量下载图片
帖子发表于 : 2012-12-03 21:07 
头像

注册: 2005-08-14 21:55
帖子: 58428
地址: 长沙
送出感谢: 4
接收感谢: 274
fetch-link.pl
爬虫,历来是pl容易搞。


_________________
● 鸣学


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 3 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 2 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译