Как я могу выбрать информацию о приложении/песне/видео и т.д. от iTunes Store?

Я нахожу ограничительные языки интересными, но трудно знать то, что составляет забытый или неизвестный. Вот некоторые языки, которые я знаю о (это - конечно, не исчерпывающий список любого вида):

  • Чао , ЛАЙ , SWI-пролог , и Пролог GNU все реализации Пролога. Я думаю, что они - весь открытый исходный код. Чао, пролог гну, и вероятно другие также, как распространено в реализациях Пролога, поддерживают другие типы ограничения. Целочисленное программирование, например.
  • Mozart и Меркурий оба, насколько я понимаю, альтернативные языки логического программирования.
  • Alice находится больше в семье ML, но поддерживает программирование с использованием ограничительного языка с помощью библиотека GECODE C++.

Дрейф немного вне темы....

  • Maude является интересным языком перезаписи термина.
  • HOL и COQ является оба механизированными системами доказательства, которые являются наиболее часто используемыми в сообществе языков.

Окончательная Лямбда является хорошим местом, чтобы говорить об и узнать больше о языках программирования.

6
задан Janak Nirmal 8 October 2012 в 11:34
поделиться

4 ответа

У вас есть ссылка в формате JSON! У вас есть правильное решение здесь . Вам просто понадобится JSON.framework

1
ответ дан 8 December 2019 в 16:06
поделиться

Насколько я знаю (и я много искал), не существует общедоступного API.

Вы правы, что HTML не имеет семантической структуры , поэтому его синтаксический анализ будет не очень надежным. Но я думаю, это твой единственный вариант. Вот несколько ссылок, которые могут помочь: -

Python-скрипт , который анализирует обзоры.

Статья Ars Technica: Ссылки на звезды: взлом iTunes для запроса обзоров .

Статья в iPhone: Анализ обзоров AppStore .

4
ответ дан 8 December 2019 в 16:06
поделиться

Я написал этот сценарий для себя. Он не оптимизирован и не ориентирован на будущее, но пока он работает для меня ...

<?php
ini_set('display_errors', false);

if(isset($_GET['appID']) && isset($_GET['format']))
{
    $appID = (int)stripslashes($_GET['appID']);
    $format = stripslashes($_GET['format']);

    $url = "http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=$appID&mt=8";
    $useragent = "iTunes/4.2 (Macintosh; U; PPC Mac OS X 10.2";
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL,$url); 
    curl_setopt($ch, CURLOPT_FAILONERROR, 1);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); 
    curl_setopt($ch, CURLOPT_USERAGENT, $useragent);

    $result = curl_exec($ch); 
    curl_close($ch); 

    $temp = str_replace("&#189;","",strip_tags(substr($result,
                    strpos($result,"Average rating for the current version:"),
                    strpos($result,"Rate this application:")-strpos($result,"Average rating for the current version:"))));

    $temp1 = explode("ratings",$temp);

    if(strpos($temp1[2], "Average rating for all versions:"))
            $temp1[2] = substr($temp1[2],0,stripos($temp1[2],"Average rating for all versions:"));

    $temp1[2] = preg_replace('/\s\s+/', ' ', $temp1[2]);
    $temp2 = explode(" ",$temp1[2]);

    $ratings[0] = $temp2[1];
    $ratings[1] = $temp2[2];
    $ratings[2] = $temp2[3];
    $ratings[3] = $temp2[4];
    $ratings[4] = $temp2[5];

    if($format == "prettyPrint")
        printRatings($ratings);
    else if($format == "XML");
        getXML($ratings);
}
else
{
    echo "Enter the app id and format (http://iblackjackbuddy.com/getAppRatings.php?appID=###&format=###";  
}

function printRatings($ratings)
{
    echo "Five stars: " . $ratings[0];
    echo "<br>Four stars: " . $ratings[1];
    echo "<br>Three stars: " . $ratings[2];
    echo "<br>Two stars: " . $ratings[3];
    echo "<br>One star: " . $ratings[4];

    echo "<hr>Total ratings: " . getTotalRatings($ratings);

    echo "<br>Average rating: " . getAverageRating($ratings);
}

function getTotalRatings($ratings)
{
    $temp = 1;

    for($i=0; $i < count($ratings); ++$i) 
        $temp+=$ratings[$i];

    return $temp;
}

function getAverageRating($ratings)
{
    $totalRatings = getTotalRatings($ratings);
    return round(5*($ratings[0]/$totalRatings) 
                                + 4*($ratings[1]/$totalRatings) 
                                    + 3*($ratings[2]/$totalRatings)
                                        + 2*($ratings[3]/$totalRatings) 
                                            + 1*($ratings[4]/$totalRatings),2);
}

function getXML($ratings)
{   
    header('Content-type: text/xml');
    header('Pragma: public');        
    header('Cache-control: private');
    header('Expires: -1');
    echo '<?xml version="1.0" encoding="utf-8"?>';
    echo '<Rating>';
    echo '<FiveStars>'.$ratings[0].'</FiveStars>';
    echo '<FourStars>'.$ratings[1].'</FourStars>';
    echo '<ThreeStars>'.$ratings[2].'</ThreeStars>';
    echo '<TwoStars>'.$ratings[3].'</TwoStars>';
    echo '<OneStar>'.$ratings[4].'</OneStar>';
    echo '<TotalRatings>'.getTotalRatings($ratings).'</TotalRatings>';
    echo '<AverageRating>'.getAverageRating($ratings).'</AverageRating>';
    echo '</Rating>';
}

?>
1
ответ дан 8 December 2019 в 16:06
поделиться

В iTunes есть общедоступный API под названием «iTunes Store Web Service Search API», который возвращает довольно много информации. Некоторые из них задокументированы здесь , но эта документация неполная.

Вы можете использовать API, чтобы получить информацию обо всем, что продается в iTunes Store и App Store, включая URL-адреса иллюстраций, ссылки непосредственно на iTunes, все приложения разработчика и т. д. Он очень надежный, и мне бы хотелось найти обновленную документацию.

В настоящее время я пишу статью в часто задаваемых вопросах для разработчиков iPhone , чтобы показать, как некоторые вещи выполняются, и расширить доступную документацию.

2
ответ дан 8 December 2019 в 16:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: