Ruby1.9.3-下载网络图片至本地,并按编号保存。
#本程序功能:下载网络图片至本地,并按编号保存。
#使用Ruby1.9.3在winxp_sp3下编写。
require 'nokogiri'
require 'open-uri' #以下 根据网址解析网页。
page = Nokogiri::HTML(open("http://www.169bb.com/News/2014-12-20/093288.htm"))
arrlen = page.css('img').length
mypics = Array.new(arrlen) #以下 将解析出的图片地址放入mypics这个数组内。
for x in 0...arrlen
mypics[x] = page.css('img')[x]['src']
end #以下 遍历数组,保存网络图片至本地。
for x in 0...mypics.length
uri = URI.parse(mypics[x])
rfile = uri.open
wfile = File.open("d:\\#{x}.jpg",'wb')
wfile.puts rfile.read
wfile.close
end
puts'ok'
#写的很差,抓取的速度不快,nokogiri和open-uri好多还不理解。
Ruby1.9.3-下载网络图片至本地,并按编号保存。的更多相关文章
- .Net 使用爬虫下载网络图片到本地磁盘
准备: 1.新建控制台项目 2.引用System.Drawing类库 3.安装HtmlAgilityPack 1.5.2.0 4.如果不会XPath语法的话,建议简单看下 代码: static voi ...
- Node.js 使用爬虫批量下载网络图片到本地
图片网站往往广告众多,用Node.js写个爬虫下载图片,代码不长,省事不少,比手动一张张保存简直是天与地的区别.以前用Java也做过远程图片下载,但Node.js的下载速度更让人咂舌,这也是非阻塞式变 ...
- h5+的Downloader下载网络图片缓存到本地的案例
之前展示图片都是通过<img src="网络图片地址"> , 每次都请求服务器, 加载比较慢;如何做到显示图片的时候先从本地获取,没有则联网下载,缓存到本地;下次直接从 ...
- Android开发-下载网络图片并显示到本地
Android下载网络图片的流程是: 发送网络请求->将图片以流的形式下载下来->将流转换为Bitmap并赋给ImageView控件. 注意点 最新的Android系统不可以在主线程上请求 ...
- 使用url下载网络图片以及流介绍
使用url下载网络图片的时候,首先需要建立一个URL对象,然后使用一个输入流获取该URL中的内容.之后使用读取该输入流的内容,使用一个输出流写到本地文件中.最后关闭输入和输出流.下面是一个简单的下载代 ...
- android下载网络图片并缓存
异步下载网络图片,并提供是否缓存至内存或外部文件的功能 异步加载类AsyncImageLoader public void downloadImage(final String url, final ...
- Go语言下载网络图片或文件
最近闲来无事, 于是就简单学习了下Go语言的基本的用法.由于实践才是最快的学习方法,所以这里就以下载网络图片或文件入手来学习Go语言 文件下载到本地,通常的思路就是先获得网络文件的 输入流 以及本地文 ...
- android 下载网络图片并缓存
异步下载网络图片,并提供是否缓存至内存或外部文件的功能 异步加载类AsyncImageLoader public void downloadImage(final String url, final ...
- 2019-9-2-win10-uwp-存放网络图片到本地
title author date CreateTime categories win10 uwp 存放网络图片到本地 lindexi 2019-09-02 12:57:38 +0800 2018-2 ...
随机推荐
- XUtils解析
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); ...
- ListView中convertView和ViewHolder的工作原理
http://blog.csdn.net/bill_ming/article/details/8817172
- phpwind数据同步本地后登陆异常
在讲数据同步到本地之后,发现输入用户名和密码之后点击登陆,依然会返回到之前的页面,并且显示的还是未登录的状态. 解决办法:在后台中将:站点设置--cookie作用域留空即可.
- [CTSC 2012][BZOJ 2806]Cheat
真是一道好题喵~ 果然自动机什么的就是要和 dp 搞基才是王道有木有! A:连 CTSC 都叫我们搞基,果然身为一个程序猿,加入 FFF 团是我此生最明智的选择.妹子什么闪边去,大家一起来搞基吧! Q ...
- SqlAlchemy初探
SqlAlchemy是Python下的一个成熟的ORM框架.下面我们对他的使用做一个简略的介绍. 0.安装 如果有pip,使用pip安装,更便捷.pip install sqlalchemy 也可以下 ...
- (转) Deep Learning in a Nutshell: Core Concepts
Deep Learning in a Nutshell: Core Concepts Share: Posted on November 3, 2015by Tim Dettmers 7 Comm ...
- javascript实现kruskal算法
<script> //图的构建 function vnode() { this.visited = 0; this.vertex = 0; this.arcs = new Array(); ...
- Dtrace for Linux 2016
http://www.brendangregg.com/blog/2016-10-27/dtrace-for-linux-2016.html
- __LINE__ __DATE__ __FILE__ __TIME__ 等宏定义解释
Names the predefined ANSI C and Microsoft C++ implementation macros. The compiler recognizes predefi ...
- Linux体系结构(二): Linux系统层次
前一节内容大概介绍了一下Linux的历史由来,各大Linux发行厂商都是基于GNU项目下的所有开源软件,来构建各自己的Linux发行版本,一个完整的Linux发行版本大概可以分为以下四个层次结构: ...