【问题标题】:Crawling and Scraping iTunes App Store爬取和抓取 iTunes App Store
【发布时间】:2011-03-07 02:38:33
【问题描述】:

我注意到iTunes preview 允许您通过http:// 协议抓取和抓取页面。但是,许多链接都试图在 iTunes 而不是浏览器中打开。例如,当您转到iBooks 页面时,它会立即尝试使用itms:// 协议打开一个url。

还有其他爬取 App Store 的方法还是这是唯一的方法?

itms:// 协议链接本身能否以某种方式被抓取?

【问题讨论】:

    标签: language-agnostic itunes screen-scraping web-crawler


    【解决方案1】:

    http:// 链接和 itms:// 链接之间的唯一区别是您需要将 User-Agent 设置为 iTunes 用户代理,并且根据版本,您可能还必须包含基于验证码关于一些不那么秘密的算法。

    例如,这是 iTunes 9 的代码:

    # Some magic. Generates a seed we use for X-Apple-Validation. Adapted from LWP::UserAgent::iTMS_Client.
    function comp_seed($url, $user_agent) {
        $random  = sprintf( "%04X%04X", rand(0,0x10000), rand(0,0x10000) );
        $static  = base64_decode("ROkjAaKid4EUF5kGtTNn3Q==");
        $url_end = ( preg_match("|.*/.*/.*(/.+)$|",$url,$matches)) ? $matches[1] : '?';
        $digest  = md5(join("",array($url_end, $user_agent, $static, $random)) );
        return $random . '-' . strtoupper($digest);
    }
    

    但是,如果您只是抓取,iTunes 预览应该可以满足您的目的,您提供给我们 iBooks 页面的链接有足够的信息可以抓取。

    【讨论】:

      【解决方案2】:

      我会好好看看 iTunes Search API 和 iTunes Enterprise Partner API

      您可能会以良好的 JSON 文件格式获得所需的大部分/全部信息。

      如果您无法通过 API 获得所需的信息,我会对它是什么感兴趣 :)

      【讨论】:

      • Search API 只允许搜索歌曲?
      • 没有。搜索 API 允许搜索 iTunes 商店中的所有内容。有这方面的例子。
      • 但最多只有200个
      【解决方案3】:

      大约一年前,我们也尝试过刮痧,结果实在是太让人头疼了。 Philipp 的评论是一个很好的评论,因为来自苹果的企业提要(需要以合法用途申请)确实有大量有用的信息,您可能会在抓取时获得这些信息。

      也有一些公司提供数据即服务 - 我在寻找时听说过 abto 和 AppMonsta 。我似乎再也找不到 abto 但http://appmonsta.com 似乎是。搜索 API 看起来不错(从未尝试过),但功能有限。

      祝你好运!

      【讨论】:

        【解决方案4】:

        正如 phillipp 所说,iTunes 搜索 API 是一种以 JSON 格式检索有关 App Store 列表数据的简单方法。

        只需使用您的应用 ID 进行查询(您可以通过在 itunes.apple.com 上查看您的应用的网络列表来找到应用 ID),例如:

        http://itunes.apple.com/lookup?id=INSERT_YOUR_APP_ID_HERE
        

        然后,将生成的 JSON 解析为您喜欢的内容。

        【讨论】:

          猜你喜欢
          • 2011-08-02
          • 2011-08-02
          • 2012-01-09
          • 1970-01-01
          • 1970-01-01
          • 2016-05-02
          • 2019-05-08
          • 1970-01-01
          • 2011-04-20
          相关资源
          最近更新 更多