抓取全站图片的几个思路

前言

好久没更新文章,最近确实忙,今天抽点时间写写我最近忙着优化网站图片的事。由于本站使用的图床SM.MS,近期不少使用电信和联通运营商的朋友说图片加载慢,网站加载完要几十秒。因为我是移动,也有可能是我本地有缓存的原因,一直没觉得网站图片有问题。不过在最初开始使用SM图床的时候就已经知道不是长久之计,博主就花了2天时间来完成全站图片的转移。

图片抓取

这是今天的重点,我也前前后后考虑了多种方案。例如:利用插件自动保存至本地服务器等等···。以下的方案只是我个人在思考这个解决问题时想到的方法,并不是最佳方案。

方案1:python爬虫

  1. 获取全站文章链接(这个以前写过相关文章WordPress获取所有文章链接
  2. python写爬虫一篇篇爬数据后,用re模块正则表达式findall()方法筛选出所有图片链接。

github地址:

1.不是很会玩爬虫,瞎写的,大佬勿喷;2.最初的版本不是这样,后来想法多了修修改改,现在的版本也不知道是在写什么,大家将就着看。。。

https://github.com/qcgzxw/pachong/blob/master/%E5%85%A8%E7%AB%99%E5%9B%BE%E7%89%87%E9%93%BE%E6%8E%A5%E6%8A%93%E5%8F%96.py

单线程在跑,网站都吃不消,花了2分钟,把全站数据跑完,基本上只要正则表达式没问题就能取得所有图片链接。

方案2:数据库命令

  1. 进入到数据库,将wp_posts表导出为SQL格式(最好不要用其他格式,编码问题)
  2. 将下载的SQL文件用NotePad++等文本编辑器工具打开,复制其中所有内容。
  3. 打开任一在线正则表达式测试工具,将复制的内容和对应的正则表达式填入网页,即可提取所有图片链接。
  4. 用文本去重工具,去除一下重复行。
  5. 复制结果后,用notepad++稍做处理即可达到所有链接。

博主的话

以上是博主在思考“抓取全站图片”时的几个思路,个人觉得第二种方式最优。若有更好方案,还请留言评论,大家一起交流。

个人觉得在遇到问题时,自己多思考,想到办法后再想想自己的解决方案是不是最优方案,不要怕耽误工夫,因为你想出了一个最有解决方案后,以后碰到同样的问题,你可能只需要几分钟就能解决。

博客本就是分享和讨论个人经验的地方,如果大家有更好的办法,还请不吝赐教!

点赞
  1. 头像 哈哈哈说道:

    参考参考

  2. 头像 清秋暖冬说道:

    妈耶,今天也是帅鸽