前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >抓取全站图片的几个思路

抓取全站图片的几个思路

作者头像
神无月
发布2018-09-28 16:36:53
1.4K0
发布2018-09-28 16:36:53
举报
文章被收录于专栏:小文博客小文博客

前言

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

图片抓取

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

方案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格式(最好不要用其他格式,编码问题)
  1. 将下载的SQL文件用NotePad++等文本编辑器工具打开,复制其中所有内容。
  2. 打开任一在线正则表达式测试工具,将复制的内容和对应的正则表达式填入网页,即可提取所有图片链接。
  1. 用文本去重工具,去除一下重复行。
  1. 复制结果后,用notepad++稍做处理即可达到所有链接。

博主的话

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

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

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

文章:抓取全站图片的几个思路 ,来自小文‘s blog,原文地址:https://www.qcgzxw.cn/2830.html 转载请注明出处

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018年9月21日 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 图片抓取
    • 方案1:python爬虫
      • 方案2:数据库命令
      • 博主的话
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档