外链图片转换到本地

2010-08-18

最近一直在折腾,无穷无尽的折腾,也就是瞎忙。

因为以前的图片是放在微软SkyDrive里的,很稳定没有网上说的链接失效。当然你把图片所在文件夹名字哪怕是改了一下链接肯定会失效,抑或你获得图片真实地址方法不对也会出问题。我换掉SkyDrive根本原因是速度太慢了,其实它比Flickr快。

记得WP-Thumbnails还是叫Thumbnails Anywhere的时候,我还给作者写过邮件(好像是记不清楚了,囧)。无非是想给他说插件能不能支持SkyDrive(因为当时的我觉得SkyDrive会一直被使用下去),但问题是他也没找到微软缩略图,同样我也没有到目前还是这样,SkyDrive也许没有。

回过神来,我说得太远了,还是想想SkyDrive外链图片怎么快速的转换到本地。SkyDrive的地址很长,貌似没有规律。

http://y3ypqg.blu.livefilestore.com/y1pEMr4DUmTrKNDcjyHVcGSpKjn
P9UMIIZVEOVybb_x95SEXriMFnRs-9TpzWCvCMwYz–EM8f7aMM/CG-
%E8%BF%99%E4%B8%8D%E6%98%AF%E7%9C%9F%E4%BA%BA.jpg

http://public.blu.livefilestore.com/y1pEPA6ZbnrhYRMe6FiKxanEooeLm
PDDOKuC7x5zlIgsE3SkjicjCAg4IaXu0KdSawB67uiK_lMaImHjgYzuKrXuQ
/20100621@that5.com.jpg

http://public.blu.livefilestore.com/y1pHB0mUkwYxFfq6dVhBYwKc_ZtC
wPE6bTc_6M0esKD3m_HZ7VvRkBeDt_cFVSunftS1hFWwji1fnPuEL9i1Lua
HQ/twitter%E6%89%BE%E9%A3%9F%E7%89%A9.png

发现什么了吗,没有我也没有。但是在Ctrl+F的时候看到平时很少用的“正则表达式”,灵感来了。

第一步:找固定不变的,blu.livefilestore.com
第二步:找变化的规律,blu.livefilestore.com的前后都是变化的,随机的数字字母等一串字符。我把所有的地址导了出来,发现字符串个数是固定的,一般规律是这样:http://6个随机字符.blu.livefilestore.com/78或89个随机字符/文件名字

那么正则表达式就是:http://.{6}\.blu.livefilestore.com\/.{60,100}/

我怕随机字符规律出现意外所以指定范围,我后面用的是.{60,100}。现在动手换,问题又来了Notepad++支持的正则表达式好像和通常的不能通用(N++正则表达式是自家开发的简易正则表达式),幸好我还有EmEditor,完成转换。可能你想问我为什么不在数据库用UPDATE wp_posts操作换地址,很简单不支持,我已经测试过了。至于其它的如Yupoo、Flickr、Picasa我想也可以这样解决吧。

叙述下整个过程:

1、用wordpress导出所有文章.xml
2、到SkyDrive下载你的外链图片,它支持打包下载,解压到一个文件夹,比如我的SkyDrive。
3、用EmEditor打开导出的.xml文件,使用正则表达式替换成目标地址,比如我的http://c.that5.com/SkyDrive/
4、把修改好的再导入wordpress。

注意:
1、如果你还想你的图片保持月或者分类链接,那么替换会麻烦很多麻烦到我不想说。
2、说个很郁闷的事,如果你图片链接里有汉字。比如twitter%E6%89%BE%E9%A3%9F%E7%89%A9.png,那么你得手工修改成字母或汉字,很痛苦的。当然你所有链接都是非汉字的恭喜你了,抑或你主机支持图片名称可以有汉字那么也恭喜你了。

分类:其它 | 标签: |

21 条评论

  1. 鲜活优惠码 说道:

    还是放到本地放心,外链比较不好管理。

  2. 曹工 说道:

    放在skydrive挺好的。

  3. Zhu 说道:

    POCO就挺不错的,支持外链,无限空间

  4. 易图佳 说道:

    个人认为skydrive够了。

  5. liveme 说道:

    转换到本地也不是办法,如果图片多的话,非常吃流量。我最近也正为图床发愁,现在用的是Google App Engine做的,但是最近老是间歇性失效,郁闷死。

  6. 睿智小超人 说道:

    很复杂,幸好我都没用外链

  7. 乐咔咔 说道:

    请问博主,可以交换个链接吗?

  8. 有点蓝 说道:

    这绝对是个力气活……

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>