ネットワーク経由の Windows スポットライト(Spotlight)クローラー

簡体字中国語からAIで翻訳しました。原文を読む

そうだよ!アイキャッチ画像はアパーチャー・サイエンスだよ _(:3 」∠ )_

タイトルはどう書けば意味がはっきりするのか分からないけど、つまり Windows スポットライト API をクロールするクローラーってことです。

個人的には Windows スポットライトの画像のほうがちょっときれいだと思います。

import requests
import json
import os
import hashlib

JSON_URL = "https://arc.msn.com/v3/Delivery/Cache?&pid=279978&fmt=json&ctry=US&lc=en-US&pl=en-US"

def main():
    img_json = requests.get(JSON_URL, headers={'User-Agent': "WindowsShellClient/9.0.40929.0 (Windows)"}).json()
    for img_order in range(len(img_json['batchrsp']['itemorder']) - 1):
        url = json.loads(img_json['batchrsp']['items'][img_order]['item'])["ad"]["image_fullscreen_001_landscape"]["u"]
        img_binary = requests.get(url).content
        file_obj = open(
            os.path.join(
                os.path.split(
                    os.path.realpath(__file__)
                    )[0],
                hashlib.md5(img_binary).hexdigest() + '.jpg'
                ),
            'wb'
            )
        file_obj.write(img_binary)

    return 0

if __name__ == "__main__":
    main()

それにしても、なんでダウンロードした画像のほうがロック画面で見るより微妙に見えるんだろう?

既知の問題:JSON にすべての画像が含まれていないので、JSON を取得するのに for ループが必要かもしれない

暇なときに API でも作ります。