2010-06-23 112 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到你心中的內容。