forcode想看的


forcode看过的


新技术
新趋势
奇思妙想
科学探索
科幻奇幻
资料搜集
网络研究
统计定量
社会学研究
书摘读后感
数码网络
软件评测
数据指标
实用信息
有趣的东西
房地产
网络赚钱
投资创业
新闻评论
网站经营
电影八卦
美景美人
人物朋友
情感回忆梦
forcode生活

2008-06-13

用SAS提取picasa相册缩略图源代码中的图片URL列表(组图)

forcode:学习编程还是挺有用的,DIY一下,给工作生活带来了很多方便。前段时间实习,也自学了一下SAS,刚刚操练了一下这个小小的数据读取功能。

我使用google picasa来管理、编辑、上传我的照片,我在博客中经常图文并茂,需要引用宽度不超过540PX的照片,但是picasaweb相册并不支持生成宽度为500的图片列表,因此,我以前总是一张一张把需要的图片地址复制到"松鼠HTML编辑器"中,有时候一次上传数百张照片,这样一张一张复制地址,需要等待图片打开、需要复制粘贴每张图片地址,非常浪费时间。于是,我使用这种办法来提高效率:
http://www.qixianglu.cn/630664.html

1、在picasaweb相册页面你可以看到本相册内所有图片缩略图列表。下图使用的大型缩略图,宽288像素。推荐使用小型缩略图,宽度只有72像素,这样对于那些照片数量非常多的相册,打开速度比较快。


2、按住鼠标左键拖动选中你需要的图片,然后在选中的图片上点右键,在弹出的窗口中选择复制(IE中),这样你复制了选中区域的HTML代码。



3、然后粘贴在一个html编辑器的所见即所得界面。forcode用的是Zoundry Raven博客发贴工具,有design、XHTML和preview三个界面,在XHTML界面下可以看到所复制的内容的HTML源代码。可以看到,每一张缩略图的html源代码非常冗余,加入了DIV层和很多垃圾代码,如果直接将这些代码发到博客上,非常影响网页速度。下面forcode编写的SAS小程序就是要从这一段冗余的HTML代码中抽取出图片地址,下面的代码中我们只需要这个图片地址,其他部分都是垃圾:http://lh5.ggpht.com/wufeng1211/SFDDqEBgEdI/AAAAAAAAE-g/36ZozFibiRI/s288/100_1383.JPG
如果相册图片数量不多,手工复制就可以了;但是如果相册内有数百张图片,手工复制这些地址非常消耗时间。为了用SAS程序来从原始的HTML源代码中读取出我们需要的图片地址列表,先将HTML源代码保存成一个文本文件picasa.txt,我是保存在这个目录下:D:\0docs\My SAS Files\9.1\forcode\

这是picasaweb相册内一张图片的html源代码:

<div class="lhcl_thumb_row">
   <div class="lhcl_thumb_captionbox"></div>
</div>
<div style="Z-INDEX: 67" onmouseout="_d(&#39;thumbHover&#39;, this, 1, false)" onmouseover="_d(&#39;thumbHover&#39;, this, 1, true)"
onclick="_d(&#39;thumbClick&#39;, this, 1);" ondblclick="return false;" class="lhcl_thumbnail">
   <div style="WIDTH: 298px; HEIGHT: 226px" id="lhid_t1" class="lhcl_thumb_row">
      <div style="WIDTH: 288px; HEIGHT: 216px" id="lhid_b1" class="lhcl_greybox">
         <img src="http://lh5.ggpht.com/wufeng1211/SFDDqEBgEdI/AAAAAAAAE-g/36ZozFibiRI/s288/100_1383.JPG" style=
         "WIDTH: 288px; HEIGHT: 216px" height="216px" width="288px" />
      </div>
   </div>

4、然后,forcode写了一个SAS小程序来从这个HTML源代码文件读取出图片地址列表:

data picasa;
 infile "D:\0docs\My SAS Files\9.1\forcode\picasa.txt";
 input @'<img src="' imageurl :$90.;
proc print data=picasa noobs;
run;

这个程序中最关键的就是变量读取语句:input @'<img src="' imageurl :$90.;这表示从picasa.txt这个文件第一行开始,每当遇到<img src="这样的代码,就开始读取变量imageurl的一个值,读取长度最大为90,类型为字符型。为什么设为90?因为forcode数了一下,google picasaweb相册缩略图地址的长度一般不超过90,而且每一张缩略图的长度都相同。下面这个图片地址的字符长度为85,其中wufeng1211是我的picasa相册用户名,长度为10,这个用户名有长有短,不过一般人的用户名也不会超过15个字符吧,如果你的用户名特别长可以将90改大一点。
http://lh5.ggpht.com/wufeng1211/SFDDqEBgEdI/AAAAAAAAE-g/36ZozFibiRI/s288/100_1383.JPG

5、运行上面的程序,就得到了图片地址列表,复制到记事本中,将http替换成<img src=http,将jpg"替换成jpg><br>,然后查找替换s288为s512就得到了宽度为512像素的图片列表HTML源文件,保存成htm格式,用浏览器打开就得到了宽度为512像素的图片列表。


--
未来新技术和新趋势的种种可能:奇想录 http://www.qixianglu.cn
订阅 http://feed.feedsky.com/woodphone 奇想录作者QQ群:50108840
欢迎读者们给奇想录投稿赚取稿费:http://www.qixianglu.cn/tougao
奇想录读者讨论区-奇想家园:http://www.douban.com/group/forcode
读者QQ群1号:11564958 读者QQ群2号:61921847 读者QQ群3号:61921931

0 条评论:

发表评论

订阅 博文评论 [Atom]

<< 主页

热门文章
============================================================
格兰仕微波炉报价单    英语六级历年真题听力下载    大陆身份证生成器
東方神起的所有反轉劇!!.[含东方剧场](會繼續更新以後的)(已可覲看)
电视剧《靠近你温暖我》全集下载(BT/迅雷/电驴/剧照)
精彩的洞庭湖人鼠大战(4视频+forcode点评)
一百多个电影字幕下载网站,精心收集整理!
(视频)(CCTV10“走进科学”-科幻之旅专题-克隆人 8.14)
国外BT站点和BT种子搜索站(国外完整bt搜索列表)
============================================================
forcode科幻小说《抽水马桶的秘密》正在起点中文网连载
《抽水马桶的秘密》读者评论:
(1)你的书很好看,比大刘,王晋康的创意好太多了,努力吧将来出实体书我一定会买的。(2)很有想象力的作者啊!!估计是看了不少科幻小说的人,希望不要浪费你非凡的想象力。
(3) 读者在自己博客或论坛对《抽水马桶的秘密》的评论。(4)点击此处查看全部的读者评论(18页,1000条以上)
《抽水马桶的秘密》相关帖子:
《远程面包机》提纲|| 《进化论危机》提纲大家一起来设计
抽水马桶是外星人的试管|| 读者推荐超一万票
《抽水马桶的秘密》内容简介:
地球哺乳界正在发生的一次大规模跨物种升级,DNA机制并非人们所想像的那样是决定生命的最终遗传载体,而是类似浏览器这样的转译机制,真正的遗传物质存储在弥漫整个宇宙的光子数据库中,DNA机制实际上是一种设定了进化路径的文明压缩包的解压机制,数十亿年前灭绝的三栖人发明了光子数据库和DNA机制,目的是为了让这个机制最终复活三栖人文明,而人类(裸猿)这一物种在三栖人社会里其实是一种宠物,但是DNA机制似乎出现了点问题,或者说不知道什么原因裸猿突然变得太过聪明了,在播撒了始祖菌(DNA种子)的所有星球,进化路径发展到裸猿阶段,并没有继续演化出最后一步:三栖人,而强大的光子数据库一旦意识到DNA进化机制的这个漏洞,立刻关闭了这些星球对光子数据库的访问权限,这样,这些星球的生态系统都面临着灭绝的危险,因为他们脱离了光子数据库的遗传支持再也无法自然繁殖,只能靠遗传工程来复制现有的基因,或者做些小打小闹的修改,整个宇宙各星球上的基于DNA机制的生态系统都面临崩溃的危险。最终在13世纪,裸猿一族在银河边缘一个不起眼的小星系发现了地球这个由于某种原因至今还刚进化到裸猿初级阶段的星球,为了催熟地球的进化速度,外星裸猿文明开始介入地球的发展,为了防止光子数据库察觉到非地球文明的介入并关闭地球的权限,这种介入始终是暗中进行,因为介入方式的分歧,银河系裸猿文明分裂为两大集团,这两大集团的争斗伴随着人类近现代的发展,于是,文艺复兴开始了、三次科技革命出现了、两次世界大战也来了,直到今天,地球人类为自己的技术进步而沾沾自喜,丝毫不知道技术迅速发展的真正原因以及潜藏的危机。
============================================================
forcode2003年以前的习作:未来的婚姻、远程面包机
forcode朗诵《蜀道难》||forcode的一百多个科幻构思
奇想录:最新奇有趣的新技术和新闻点评|| 订阅“奇想录”