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获得所需的信息,我会感兴趣它是什么:)
正如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解析为您内心的内容。
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 页面链接有足够的信息可供抓取。
| 归档时间: |
|
| 查看次数: |
15776 次 |
| 最近记录: |