写博客没高质量配图?python爬虫教你绕过限制一键搜索下载图虫创意图片!

系统 570 0

目录

  • 前言
  • 分析
    • 理想状态
    • 爬虫实现
    • 其他注意
  • 效果与总结

@(文章目录)

前言

写博客没高质量配图?python爬虫教你绕过限制一键搜索下载图虫创意图片!_第1张图片
在我们写 文章(博客、公众号、自媒体) 的时候,常常觉得自己的文章 有些老土 ,这很大程度是因为 配图 没有选好。

笔者也是遇到相同的情况,顺便解决其中一个案例,给 大家一些技术上的参考和借鉴

并且,我们搜图片如果去百度,会遇到两种情况: 非高清 或者 带水印 。这都是我们所忌讳的东西。笔者此次通过图虫创意抓起高清小图,虽然不是大图, 但是在火热的移动端阅读上是足够的

分析

写博客没高质量配图?python爬虫教你绕过限制一键搜索下载图虫创意图片!_第2张图片
废话说完了,我们开始分析怎么样才能获取这样的图片呢。

理想状态

  • 我们的理想状态就是一个网页,我们的目标网页,把图片 直接放到html中。我们的爬虫可以直接解析。这种情况, 就像你写的博客,个人网站的图片一样,简单嵌入
    写博客没高质量配图?python爬虫教你绕过限制一键搜索下载图虫创意图片!_第3张图片
  • 或者就是通过后台ajax传输图片地址引用。我们 不清楚 是否这样!

    实际分析

    但事实这种肯定会被理想破灭,因为不可能!他 以图片为核心业务 要你注册,购买 等等,怎么可能就这么 容易 的嵌入进入被你找到。
  • 那它到底如何实现呢?我们分析一下!

首先打开网页,检查图片,发现它的网页图片来源不唯一。有两个主要域名 ice wel ,并且后面的编号还不唯一,但是可以尝试发现 相同域名不同后缀的图片地址结果相同 !(例如 icweiliimg9 icweiliimg/ 效果相同)。

我们发现原来这个搜索url会变化,但是这个查看网页源代码发现并没有我们想要的图片地址。那么我们肯定知道它 要么从ajax渲染 ,或者就 藏在js中进行混淆或者加密 。我们发现这个xhr中并没有想要的数据,并且他其实藏在js中。 其实这个可以猜想到的 ,因为它的 url既然跟着变化那么返回的数据肯定是有区别 的。

那么分析就到这里,剩下就是python爬虫的模拟和解析了。

爬虫实现

前面说到已经知道它的数据源,我们用python编写爬虫需要进行模拟。经过测试发现它需要进行一些验证,其中包过 cookie wluuid 字段(只验证存在,不验证正确性)。

那么我们编写一段代码就能拿到网页html。 但是问题来了。数据藏在js里面啊!!!

我们只能用正则进行套了!
对于这个js,我们通过 js=soup.select('script') js=js[4] 即可获取。
写博客没高质量配图?python爬虫教你绕过限制一键搜索下载图虫创意图片!_第4张图片
对于有用数据,只能正则截取。

          
             pattern = re.compile(r'window.hits = (\[)(.*)(\])')
 va = pattern.search(str(js)).group(2)#解析js内容
          
        

但是这个类似json的串用 , 拼接我们无法直接使用spilt分组分开,但是我们可以从 } 全部替换成 },, 那么就三个 ,,, 我们就可以分割而不影响其他json串内 , ;split之后 每组都满足json串格式 直接转成json取值即可!
在这里插入图片描述
那么剩下拿到url直接构造url然后下载图片即可!

其他注意

图片下载:

  • 下载图片有很多图片无名称或者名字相同,避免这个不下载要进行编号
  • 两个url域名需要尝试下载其中一个成功即完成下载!

爬虫方面

  • 全程不需要登录,下载为高清小图。 后续可以考虑研究登录后的大图分享给大家!

其他

  • 創建图片路径要考虑路径是否存在!

效果与总结

通过上述分析:编写爬虫:
写博客没高质量配图?python爬虫教你绕过限制一键搜索下载图虫创意图片!_第5张图片
写博客没高质量配图?python爬虫教你绕过限制一键搜索下载图虫创意图片!_第6张图片

测试结果:
写博客没高质量配图?python爬虫教你绕过限制一键搜索下载图虫创意图片!_第7张图片

打开文件夹:
写博客没高质量配图?python爬虫教你绕过限制一键搜索下载图虫创意图片!_第8张图片
发现nice!你只需要输入关键词即可实现自动下载,虽然是小图,但是效果不错!
移动端公众号和csdn效果!
写博客没高质量配图?python爬虫教你绕过限制一键搜索下载图虫创意图片!_第9张图片

不难发现 整个过程就是分析和处理字符串的逻辑难点 。数据结构与算法扎实了处理问题都不难,!所以, 如果要学习数据结构与算法,爬虫请关注我吧 !公众号: bigsai
写博客没高质量配图?python爬虫教你绕过限制一键搜索下载图虫创意图片!_第10张图片


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论