爬取momentum插件的图片壁纸

前言

     个人比较喜欢momentum插件的图片壁纸,比较清爽的世界各地的风景画吧。这个插件的图片来源也是来源于其他网站Instagram、Flickr、unsplash、500px等。(不知道怎么弄过来的)

windows本地图片地址

     windows如果安装了chrome的momentum插件,本地文件夹缓存数据,例如:    

C:\Users\用户名\AppData\Local\Google\Chrome\User Data\Default\Extensions\laookkfknpbbblfpciffpaejjkokdgca\版本号\backgrounds

     如果本地安装了listary软件,直接搜“laookkfknpbbblfpciffpaejjkokdgca”或“backgrounds”可能就找到了文件夹了:)

    设置成壁纸轮询文件夹即可,就可以享受了(图片貌似也就这么几张,会更新,多了会自动删除,不确定)。

    文件夹下的图片质量和插件中看到的一致。

接口获取历史图片

    用了java来获取,当然也可以用其他语言来获取(postman也能直接调接口成功)。实质是一个get方法,加了header属性就可以获取含图片原图的json串。贴一下大概代码(low暂且看看吧)。

        Map<String, String> header = new HashMap<>();
        header.put("Accept", "application/json, text/javascript, */*; q=0.01");
        header.put("X-Momentum-ClientId", "966324f1-xxxxx-88b5-6d15f46d24f7");//修改成自己的参数
        header.put("X-Momentum-Version", "1.12.2");
        header.put("X-Momentum-ClientDate", ZonedDateTime.now().toString().substring(0, 19));
        header.put("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.xxxxxxxxxxxxxxx.cT7p09xHXmVl9KYQ3XzUWmgg4iZSFxkXUHnsCXW8wjU");//需修改自己的参数
        header.put("Sec-Fetch-Mode", "cors");
        header.put("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36");
        String s = HttpUtil.sendGetHeader("https://api.momentumdash.com/backgrounds/history", header);//封装的一个get方法,加了请求头部分

    返回的json串包含了2个参数history和load_more。其中history中包含了图片的信息、原图地址、缩略图地址等,load_more继续加载的日期,类似于游标。用于上面接口多加一个参数priorToDate=对应load_more的日期.

    如果写一个程序的话估计可以爬比较多的图片,目前没有测试会不会封授权和clientid那些参数。

    575b5b42bd0c0921f482e2d4dff73de6ee0.jpg

问题:

    上面的接口自己测试了一下,大概爬取了700多张图片。

    1、当然存在重复部分,需要想办法去重;(文件MD5是一个简单的选择)

    2、文件的质量不是特别好,像素比较有限,和插件中图片大小不一样(设置壁纸拉伸后部分效果不理想)。

其他接口

    网上比较多的是下面这个方法,但是本人没有成功(⊙o⊙)…可能接口变了吧

today = time.strftime("%Y-%m-%d")
req = urllib2.Request('https://api.momentumdash.com/feed/bulk?syncTypes=backgrounds&localDate=' + today)

 

 

转载于:https://my.oschina.net/u/3218945/blog/3099555

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值