您的位置:首页 > 编程语言 > Java开发

爬取momentum插件的图片壁纸

2019-08-30 18:29 3255 查看

前言

     个人比较喜欢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那些参数。

    

其他接口

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

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

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Java Postman Chrome