逃离Yupoo并转移图片到本地的过程 's

admin 2017年5月4日02:12:53评论410 views字数 3732阅读12分26秒阅读模式
摘要

以前一直不想把图片放在自己Blog的空间里,觉得这样的话可以保证Blog的大小,转移的时候方便,所以就一直选择使用网络相册来保存Blog里用到的图片,然后再链接过来。

以前一直不想把图片放在自己Blog的空间里,觉得这样的话可以保证Blog的大小,转移的时候方便,所以就一直选择使用网络相册来保存Blog里用到的图片,然后再链接过来。

在使用Yupoo之前,用的是Flickr,但是后来因为GFW的问题,不得不放弃Flickr。

我在Yupoo上传第一张图片是2006年1月5日,从2006年7月开始将blog上的图片放到Yupoo上,到现在也有2000多张了。一直用Yupoo用的好好的,但是最近Yupoo推出了防盗链功能之后,也没办法继续使用了,只有把图片都转到了本地。

本来防盗链功能是好的,但是如果加上流量限制就不一样了,现在Yupoo的防盗链功能限制免费用户在认证Blog之后,只有1G的外链流量可用(并且Yupoo拥有对此措施进行调整的权利)。对我来说根本不够用,这个防盗链功能是12月9号推出的,在推出这个功能之前的几天,我在Yupoo里的照片已经被盗链用去了3.1G流量,结果导致我在认证之后,自己Blog上也无法正常显示图片(个人认为应该在推出防盗链功能之后对所有用户的流量清空),当咨询Yupoo客服之后,得知这个问题无法解决,因为我的流量已经使用完了,建议我升级VIP。

前两天看到Yupoo推出了1G只需1元,用户可以单独购买外链流量的服务,只好花了5元钱买了5G的流量,让Blog的图片可以正常显示。

之后就在想把Yupoo上的图片转移到本地,但是找了三个可以导出Yupoo图片地址的工具(123),都以失败告终。第一款是版本过老,用不成了。第二款是在我这里读取图片的过程中总是崩溃,也用不成。第三款是每次只能导出前200张,作者说是Yupoo的API限制了只能读取前200张,这样的话就得每导出200张,就删200张,然后继续导出,很麻烦。

而且即使用上面的三个工具导出成功的话,替换文章中的图片地址也是很麻烦的,因为原来的图片地址中都有随机的字符或者子目录,所以最好的办法就是把原图片下载回来的同时,保持原来的目录结构。例如下面四张图片:

http://photo1.yupoo.com/20070326/183102_1003750627.jpg http://photo1.yupoo.com/20070116/182649_70474077.jpg http://pic.yupoo.com/sunlei/61474638a0ae/so15ixtb.jpg http://pic.yupoo.com/sunlei/606746347a4e/0pcjr2yi.jpg

最好在下载回来的同时使他们保持如下结构:

D:/pics ├─photo1.yupoo.com │  ├─20070326 │  │  183102_1003750627.jpg │  │ │  └─20070116 │    182649_70474077.jpg │ └─pic.yupoo.com    └─sunlei      ├─61474638a0ae      │  so15ixtb.jpg      │      └─606746347a4e         0pcjr2yi.jpg

最开始我是想导出Yupoo中的图片,然后再替换,后来想了想,我没必要导出Yupoo中全部的图片,我只需要把Blog中用到的转移出来就行了,这样就能保证Blog中图片的正常显示,其他的照片之类的就没必要转移,因为那些又不用于外链。

所以现在的思路是,把以前文章中用到的图片按照原来的目录结构保存到空间里,然后替换原来的地址中的photo1.yupoo.com或者pic.yupoo.com/sunlei就行了。

接下来说下我转移的过程(我用的WordPress):

1、备份wp_posts表

2、在你的Firefox中添加一个书签List Images(因为我一直用的Firefox,而且也不知道这个书签在IE中是否有效):

javascript:outText='';for(i=0;i<document.images.length;i++){if(outText.indexOf(document.images[i].src)==-1){outText+='<tr><td><img%20src='+document.images[i].src+'></td><td>'+document.images[i].height+'</td><td>'+document.images[i].width+'</td><td>'+document.images[i].src+'</td></tr>'}};if(outText!=''){imgWindow=window.open('','imgWin','width=800,height=600');imgWindow.document.write%20('<table%20border=1%20cellpadding=10><tr><th>Image</th><th>Height</th><th>Width</th><th>URL</th></tr>'+outText+'</table>');imgWindow.document.close()}else{alert('No%20images!')}

或者点此存为书签

3、把备份回来的sql文件后缀改为.html,然后用Firefox打开(我的wp_posts表有将近15M,改为html,再打开时那个慢啊)。等打开完毕后,点击刚才保存的书签List Images,会打开一个新页面,列出了所有的图片。

4、查看这个页面的源码,然后复制,另存为html,上传到你的网站,比如我的http://huaidan.org/images/pics.html

5、用 Teleport 新建一个项目,选择“复制一个网站,包含该网站的目录结构”,地址就输入 http://huaidan.org/images/pics.html 。然后开始,等待下载完毕你会发现他连原来的目录结构都复制了下来(本来这里刚开始是准备用DownThemAll!来做的,但是DownThemAll!我怎么设置都只能保存前两层目录)。Teleport则是无法筛选,所以除了yupoo之外,其他地方的图片也被下载了回来。

* 这里也可以用wget直接下载到空间里(如果你的空间有SSH的话)
wget -m -k -H http://huaidan.org/images/pics.html
不过我不建议这么做,因为后面还要重命名,还是下载到本地比较好,虽然需要再上传,但是同时也可以备份。

6、删掉除*.yupoo.com之外的文件夹。

7、建立一个yupoo文件,把所有photo*.yupoo.com中的目录剪切到这个yupoo目录中,pic.yupoo.com这个目录,则是把里面那个以你的用户名命名的文件夹中的子文件夹剪切到yupoo目录中。例如我的就是pic.yupoo.com这个目录中有一个sunlei的文件夹,要做的就是把sunlei这个文件夹中所有的子文件夹剪切到刚才建立的yupoo中。

8、用 Bulk Rename Utility 进行重命名,因为Yupoo会将你上传的任何格式的图片,都以jpg来显示,但是用 Teleport 下载回来之后就会添加一个你原始的后缀名,比如*.jpg.png或者*.jpg.gif之类的,但是你文章中贴的图片却没有这些后缀,只有一个jpg。打开Bulk Rename Utility,“选择”里面勾选“文件”和“子文件夹”,ctrl+a 全选所有文件,然后扩展名中移除两次(使所有的文件都没有扩展名),再添加(选择固定) .jpg(不知道为什么不能移除指定的,填上也无效,只能全部移除再添加了)。

9、将yupoo目录压缩为yupoo.zip,传到空间wp-content/uploads/img里(img是我自己建立的,自己控制目录结构,下面替换的时候替换正确就行了),然后SSH上去unzip yupoo.zip。无SSH的可以直接FTP传上去。

10、然后用EditPlus(其他编辑器也行)打开备份回来的sql文件,替换前面在你用 Teleport 下载回来的目录中出现过的 photo*.yupoo.com 和 pic.yupoo.com/用户名 为你的新路径,例如我的这样替换:

http://photo1.yupoo.com http://photo4.yupoo.com http://photo5.yupoo.com http://photo6.yupoo.com http://photo7.yupoo.com http://photo8.yupoo.com http://photo9.yupoo.com http://photo11.yupoo.com http://photo14.yupoo.com http://photo15.yupoo.com http://pic.yupoo.com/sunlei

替换为:

http://huaidan.org/wp-content/uploads/img/yupoo

保存sql文件。

11、还原修改过的sql文件,这里我用 MySQLDumper

12、完工。

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2017年5月4日02:12:53
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   逃离Yupoo并转移图片到本地的过程 'shttp://cn-sec.com/archives/45955.html

发表评论

匿名网友 填写信息