2013-03-26 13 views
10

mogę wiedzieć, czy jest jakiś oficjalny Microsoft API dla aplikacji telefonicznych i metra, które możemy połączyć i uzyskać informacje na temat aplikacji, pobrania, wydawnictw itpokna sklep API dostęp do metra i aplikacji telefonicznych informacji

myślę żywo api jest tylko dla aplikacji do połączenia z skydrive, hotmailem lub skype.

Widzę wiele stron internetowych dostarczających takie informacje na ich stronie internetowej.

Z góry dziękuję.

+0

czy możesz podać nazwy stron internetowych pokazujące informacje o aplikacji o aplikacji windowsphone – sunny

Odpowiedz

2

Nie ma takiego API do pobierania danych. Jeśli chcesz podać takie informacje, musisz zeskanować dane bezpośrednio ze strony internetowej, a następnie zachować je samodzielnie. Strony, które robią podobne rzeczy już coś takiego robią.

+0

oznacza to, że muszę parsować kod HTML, aby uzyskać wymagane dane? – sunny

+0

Tak, musisz pobrać wszystkie informacje z http://www.windowsphone.com/ siebie. –

+0

w tym przypadku potrzebujemy danych logowania i musimy przeanalizować stronę html przy użyciu skryptu Java – sunny

12

Witam o to blogu stworzyłem przedstawiający proces: http://jasonthomascarter.blogspot.com/2013/08/the-friendly-developers-guide-to.html

Tutaj udać się! Najpierw uruchomimy plik Robots.txt dla witryny Windows Store. http://apps.microsoft.com/robots.txt

Strony internetowe używają pliku robots.txt do kierowania robotami sieciowymi, jak zachowywać się, czego chcą, aby widzieli i czego nie chcą, aby widzieli.

http://www.robotstxt.org/

Web Robots (znane również jako Web Wanderers, gąsienic, lub pająki) to programy, które wykonują ruch po sieci automatycznie. Wyszukiwarki, takie jak Google, wykorzystują je do indeksowania treści internetowych, a spamerzy wykorzystują je do skanowania pod kątem adresów e-mail i mają wiele innych zastosowań.

W tym przypadku plik indeksu Sitemaps.xml to co nas interesuje. http://apps.microsoft.com/windows/sitemap_index.xml

http://www.sitemaps.org/

Sitemaps są łatwym sposobem dla webmasterów, aby poinformować o stronach wyszukiwarek na swoich stronach, które są dostępne dla czołganie. W najprostszej formie mapa witryny jest plikiem XML, który zawiera adresy URL witryny wraz z dodatkowymi metadanymi dotyczącymi każdego adresu URL (kiedy był ostatnio aktualizowany, jak często się zmienia i jak jest on ważny, w stosunku do innych adresów URL w witrynie), aby wyszukiwarki mogły bardziej inteligentnie indeksować witrynę.

Plik indeksu map witryn zawiera listę poszczególnych plików XML Sitemap. W chwili pisania tego artykułu na stronie apps.microsoft.com znajduje się 141 pojedynczych plików XML map witryn.

Wewnątrz poszczególnych plików znajduje się tysiące adresów URL stron internetowych aplikacji Sklepu Windows.Takich jak ten adres URL do aplikacji PlayTo Odbiornik:

http://apps.microsoft.com/windows/en-us/app/playto-receiver/72a6ba17-2d4e-4a1c-bcfb-cdc5d4b32d0e

te strony internetowe dla aplikacji zawierają sporo informacji, które moglibyśmy oskrobali z HTML, ale możemy zrobić lepiej .... kluczowych informacji otrzymujemy tutaj identyfikator aplikacji i geografię, w której te identyfikatory aplikacji są publikowane w sklepie.

Na przykład:

72a6ba17-2d4e-4a1c-bcfb-cdc5d4b32d0e

i en-US itd ...

a teraz do dobrych rzeczy, istnieje kilka usług internetowych możemy zadzwoń, korzystając z nowo znalezionych informacji o aplikacji i danych geograficznych.

https://services.apps.microsoft.com/browse/6.2.9200-1/615/en-US_en-US/c/US/cp/10005001/Apps/72a6ba17-2d4e-4a1c-bcfb-cdc5d4b32d0e

Jest mnóstwo informacji dostępnych za pośrednictwem tej usługi internetowej, ale nie jest to jasno określone przez nazw elementów. Oto moja interpretacja wielu (nie wszystkich) z nich, aby zacząć od ciebie.

sSubCategoryName = rawXML.getElementsByTagName ("Sc") [0] .getElementsByTagName ("N") [0] .childNodes [0] .nodeValue;

sSubCategoryId = rawXML.getElementsByTagName ("Sc") [0] .getElementsByTagName ("I") [0] .childNodes [0] .nodeValue;

sHasTrial = rawXML.getElementsByTagName ("Try") [0] .childNodes [0] .nodeValue;

sDescription = rawXML.getElementsByTagName ("D") [0] .childNodes [0] .nodeValue;

sDeveloper = rawXML.getElementsByTagName ("Dev") [0] .childNodes [0] .nodeValue;

sWsite = rawXML.getElementsByTagName ("Ws") [0] .childNodes [0] .nodeValue;

sSupport = rawXML.getElementsByTagName ("Sws") [0] .childNodes [0] .nodeValue;

sPrivacy = rawXML.getElementsByTagName ("Pu") [0] .childNodes [0] .nodeValue;

sCategoryName = rawXML.getElementsByTagName ("C") [0] .getElementsByTagName ("N") [0] .childNodes [0] .nodeValue;

sCategoryId = rawXML.getElementsByTagName ("C") [0] .getElementsByTagName ("I") [0] .childNodes [0] .nodeValue;

sPrice = rawXML.getElementsByTagName ("P") [0] .childNodes [0] .nodeValue;

sForegroundColor = rawXML.getElementsByTagName ("Fg") [0] .childNodes [0] .nodeValue;

sBackgroundColor = rawXML.getElementsByTagName ('Bg') [0] .childNodes [0] .nodeValue;

sAppIcon = rawXML.getElementsByTagName ("Ico") [0] .childNodes [0] .nodeValue;

sAppName = rawXML.getElementsByTagName ("T") [0] .childNodes [0] .nodeValue;

sPackageFamilyName = rawXML.getElementsByTagName ('Pfn') [0] .childNodes [0].nodeValue;

sResourceId = rawXML.getElementsByTagName ("R") [0] .childNodes [0] .nodeValue;

sId = rawXML.getElementsByTagName ("I") [0] .childNodes [0] .nodeValue;

sCapabilities = sCapabilities + arrCapabilities [k] .childNodes [0] .nodeValue + ",";

sUpdate = rawXML.getElementsByTagName ("Ud") [0] .childNodes [0] .nodeValue;

sFeatures1 = rawXML.getElementsByTagName ('Dbp') [0] .childNodes [0] .nodeValue;

sFeatures2 = rawXML.getElementsByTagName ('Dbp') [1] .childNodes [0] .nodeValue;

sFeatures3 = rawXML.getElementsByTagName ('Dbp') [2] .childNodes [0] .nodeValue;

sFeatures4 = rawXML.getElementsByTagName ('Dbp') [3] .childNodes [0] .nodeValue;

sFeatures5 = rawXML.getElementsByTagName ('Dbp') [4] .childNodes [0] .nodeValue;

sFeatures6 = rawXML.getElementsByTagName ('Dbp') [5] .childNodes [0] .nodeValue;

sFeatures7 = rawXML.getElementsByTagName ('Dbp') [6] .childNodes [0] .nodeValue;

sFeatures8 = rawXML.getElementsByTagName ('Dbp') [7] .childNodes [0] .nodeValue;

sFeatures9 = rawXML.getElementsByTagName ('Dbp') [8] .childNodes [0] .nodeValue;

sScreenshot1 = rawXML.getElementsByTagName ('ss') [0] .getElementsByTagName ('U') [0] .childNodes [0] .nodeValue

sScreenshot2 = rawXML.getElementsByTagName ('ss') [1 ] .getElementsByTagName ('U') [0] .childNodes [0] .nodeValue

sScreenshot3 = rawXML.getElementsByTagName ('ss') [2] .getElementsByTagName ('U') [0] .childNodes [0] .nodeValue

sScreenshot4 = rawXML.getElementsByTagName ('ss') [3] .getElementsByTagName ('U') [0] .childNodes [0] .nodeValue

sScreenshot5 = rawXML.getElementsByTagName ('ss') [4] .getElementsByTagName ('U') [0] .childNodes [0] .nodeValue

sScreenshot6 = rawXML.getElementsByTagName ('ss') [5]. getElementsByTagName ('U') [0] .childNodes [0] .nodeValue

sScreenshot7 = rawXML.getElementsByTagName ('ss') [6] .getElementsByTagName ('U') [0] .childNodes [0] .nodeValue

sScreenshot8 = rawXML.getElementsByTagName ('ss') [7] .getElementsByTagName ('U') [0] .childNodes [0] .nodeValue

sScreenshot9 = rawXML.getElementsByTagName ('ss') [8 ] .getElement sByTagName ('U') [0] .childNodes [0] .nodeValue

sCaption1 = rawXML.getElementsByTagName ('ss') [0] .getElementsByTagName ('cap') [0] .childNodes [0] .nodeValue

sCaption2 = rawXML.getElementsByTagName ('ss') [1] .getElementsByTagName ('cap') [0] .childNodes [0] .nodeValue

sCaption3 = rawXML.getElementsByTagName ('ss') [2] .getElementsByTagName ('cap'), [0] .childNodes [0] .nodeValue

sCaption4 = rawXML.getElementsByTagName ('ss') [3] .getElementsByTagName ('cap') [0] .childNodes [0] .nodeValue

sCaption5 = rawXML.getElementsByTagName ('ss') [4] .getElementsByTagName ('cap') [0] .childNodes [0] .nodeValue

sCaption6 = rawXML.getElementsByTagName ('ss') [5] .getElementsByTagName ("Cap ') [0] .childNodes [0] .nodeValue

sCaption7 = rawXML.getElementsByTagName ('ss') [6] .getElementsByTagName ('cap') [0] .childNodes [0] .nodeValue

sCaption8 = rawXML.getElementsByTagName ('ss') [7 ] .getElementsByTagName ('Cap') [0] .childNodes [0] .nodeValue

Jest więcej do sklepu Windows niż tylko aplikacje, są też recenzje i wiele z nich. Aktualnie dostępnych jest ponad 210 000 recenzji aplikacji w Sklepie Windows. Te opinie pochodzą z całego świata, więc potrzebujesz kodów krajów, przydatnych identyfikatorów aplikacji i zwracasz uwagę na pn/1 na końcu, przekonasz się, że ta usługa zwraca tylko 10 recenzji na stronę, tylko przyrost ta wartość do pn/2, pn/3 itd., dopóki nie skończy się liczba opinii.

var arrCounntryCodes = ["AE", "AR", "AT", "AU", "BE", "BG", "BH", "CA", "CH", "CL", "CN "," CO "," CR "," CY "," CZ "," DE "," DK "," DZ "," EE "," EG "," ES "," FI "," FR ", "GB", "GR", "HK", "HR", "HU", "ID", "IE", "IL", "IN", "IQ", "IT", "JO", "JP "," KW "," KZ "," LB "," LK "," LT "," LU "," LV "," LY "," MA "," MT "," MX "," MY ", "NL", "NO", "NZ", "OM", "PE", "PH", "PK", "PL", "QA", "RO", "RS", "RU", "SA "," SE "," SG "," SI "," SK "," TH "," TN "," TR "," TT "," UA "," US "," UY "," VE ", "VN"];

https://services.apps.microsoft.com/4R/6.2.9200-1/1/en-US/m/US/Apps/f514d64b-8705-43b7-a400-c4f4f3dedfc0/Reviews/all/s/date/1/pn/1

Ten jest dużo bardziej opisowe z nazwami elementów, więc nie widzę żadnej potrzeby dalszego wyjaśnieniu tego. Możesz zobaczyć pełną nazwę, nazwę wyświetlaną, zdjęcie, które wybrał użytkownik.

Następna w kolejce możemy zrobić trochę seaching ...

https://services.apps.microsoft.com/search/6.2.9200-1/615/en-US_en-US/m/US/c/US/il/en-US/cp/10005001/query/cid/0/pf/1/pc/0/pt/x64/af/0/lf/0/s/0/2/pn/0?phrase=Software Twórca

Tutaj robi się trochę znowu tajemnicze, ale teraz powinno być do tego przyzwyczajony. Można uzyskać identyfikator aplikacji z elementu I i zabrać go stamtąd z powrotem do usługi przeglądania f514d64b-8705-43b7-a400-c4f4f3dedfc0

Więc nie masz go, podstawy ciągnąc tony informacji z Sklepu Windows, w którym możesz zrobić to, co chcesz. Jeśli okaże się to pomocne i/lub wprowadzić pewne aplikacje wykorzystujące informacje, jakieś dodatkowe informacje udostępniać lub w inny sposób, proszę dać mi znać w komentarzach

Powiązane problemy