今天看漫画不爽,操起ruby…

  • Post author:
  • Post category:其他


ff下载图片实在是不行,而且一百多张图就呼呼喘了(cpu风扇),最不能忍受的是每张图都是一半的,于是还是自己动手。

先保存好网页,然后写一小段解析代码(请先安装hpricot):

ruby 代码
  1. require

    “rubygems”
  2. require

    “open-uri”
  3. require

    “hpricot”
  4. DEFAULT_IMG_FILE=

    File

    .expand_path(

    “img.html”

    ,

    File

    .dirname(__FILE__))
  5. local_file=DEFAULT_IMG_FILE
  6. list_file=

    File

    .expand_path(

    “img.list”

    ,

    File

    .dirname(__FILE__))

  7. if


    File

    .readable? local_file
  8. doc=Hpricot(open(local_file))
  9. list=

    File

    .

    new

    (list_file,

    “w+”

    )
  10. (doc/

    “img”

    ).

    each

    ()

    do


    |img

    |
  11. link=img.attributes[

    “src”

    ]

  12. if

    link=~ /^http:\/\//
  13. list.puts link

  14. end

  15. end
  16. list.close

  17. end

原来还准备多写些,后来一想算了,先这样凑和吧。生成了img.list文件后,直接交给wget就完事了。

ruby 代码
  1. wget -i img.list -P imgs

然后就等着吧,wget会重试几次的,而且是单线程下载,很安全。不过要应付多页面还是不行,其实wget本身就可以实现循环下载,网站镜像,不过没去研究罢了。

linux下的工具每一个都不可小视啊。