抓取并刮擦iTunes App Store

Sen*_*ful 14 language-agnostic screen-scraping itunes web-crawler

我注意到iTunes预览允许您通过http://协议抓取和抓取页面.但是,许多链接都试图在iTunes而不是浏览器中打开.例如,当您转到iBooks页面时,它会立即尝试打开带有itms://协议的URL .

是否还有其他方法可以抓取App Store或这是唯一的方法吗?

可以在itms://协议链接本身以某种方式抓取?

phi*_*ipp 21

我会很好地看一下iTunes Search API和iTunes Enterprise Partner API

您可以以漂亮的JSON文件格式获得所需的大部分/全部信息.

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

  • 但最多只有200个 (3认同)

Dis*_*Dev 5

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

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

http://itunes.apple.com/lookup?id=INSERT_YOUR_APP_ID_HERE
Run Code Online (Sandbox Code Playgroud)

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


Ada*_*M-W 4

http:// 链接和 itms:// 链接之间的唯一区别是,您需要将您的用户代理设置为 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);
}
Run Code Online (Sandbox Code Playgroud)

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