2010-06-23 114 views
14

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

是否有任何其他方法来抓取App Store或者这是唯一的方法?

itms://协议链接自己可以以某种方式被抓取?

+0

好吧,但是什么?爬网只是在寻找网址。如果itmc://链接指向包含网址的内容,则可以将其作为所有内容进行抓取。我不明白 - 这里有什么困难? – naugtur 2010-06-24 18:21:51

回答

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); 
} 

但是如果你只刮时,iTunes预览应该符合您的需求,您给我们的iBooks的页面的链接有足够多的信息刮去。

21

我会在iTunes搜索API一个体面的外观和iTunes的企业合作伙伴API

你可能会得到大部分/所有你需要的信息都是以一种很好的JSON文件格式。

如果你不能得到你需要使用API​​的信息,我会感兴趣的是什么:)

+0

搜索API只允许搜索歌曲? – 2012-11-06 10:37:36

+1

搜索API允许搜索iTunes商店中的所有内容。有这样的例子。 – philipp 2012-11-15 22:20:28

+3

但是最多只能有200个 – 2014-07-10 10:19:44

1

我们尝试过自己刮大约一年前,它只是变得太头疼。菲利普的评论是一个很好的评论,因为从苹果公司提供的食物(需要申请合法用途)确实有很多有用的信息,你可能在抓取之后。

有几家公司也提供数据作为服务 - 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到你心中的内容。