windows存储api访问地铁和手机应用程序信息

sun*_*der 9 api windows-phone-7 microsoft-metro windows-store-apps

我可以知道是否有任何官方微软API用于地铁和手机应用程序,我们可以连接并获取有关应用程序,下载,发布者等的信息.

我认为live api仅适用于与skydrive,hotmail或skype连接的app.

我可以看到很多网站在他们的网站上提供这些信息.

提前致谢.

小智 12

你好这里是我创建的博客文章,概述了这个过程:http: //jasonthomascarter.blogspot.com/2013/08/the-friendly-developers-guide-to.html

开始了!首先,我们将从Windows Store网站的Robots.txt文件开始.http://apps.microsoft.com/robots.txt

网站使用robots.txt来指导网络抓取工具如何操作,他们希望他们看到什么,以及他们不希望他们看到什么.

http://www.robotstxt.org/

Web机器人(也称为Web Wanderers,Crawlers或Spiders)是自动遍历Web的程序.Google等搜索引擎使用它们来索引网络内容,垃圾邮件发送者使用它们来扫描电子邮件地址,它们还有许多其他用途.

在这种情况下,Sitemaps.xml索引文件是我们感兴趣的.http://apps.microsoft.com/windows/sitemap_index.xml

http://www.sitemaps.org/

站点地图是网站管理员向搜索引擎通知其网站上可用于抓取的网页的简便方法.在最简单的形式中,Sitemap是一个XML文件,它列出了网站的URL以及有关每个URL的其他元数据(上次更新时间,通常更改的频率以及相对于网站中其他网址的重要性) )以便搜索引擎可以更智能地抓取网站.

站点地图索引文件列出了每个站点地图XML文件.在撰写本文时,apps.microsoft.com网站有141个单独的Sitemap XML文件.

在单个文件中有数千个Windows应用程序网页的URL.比如PlayTo Receiver应用程序的这个URL:

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

这些应用程序的网页确实包含了我们可以从HTML中获取的大量信息,但我们可以做得更好....我们在这里得到的关键信息是应用程序ID以及这些应用程序ID发布到的地理位置.商店.

例如:

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

和en-us等......

现在,对于好的东西,我们可以使用我们新发现的App Id和地理信息来调用一些Web服务.

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

通过此Web服务可以获得大量信息,但元素名称并未明确说明.以下是我对许多(不是全部)启动你的解释.

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;

sWebsite = 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] .getElementsByTagName('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

Windows应用商店不仅仅是应用程序,还有评论,还有很多.目前,Windows Store中的应用程序有超过210,000条评论.这些评论来自世界各地,所以你需要一些国家代码,你方便的花花公子App Id并注意最后的pn/1,你会发现这个服务每页只返回10条评论,只是递增这个值为pn/2,pn/3等..直到你的评论用完为止.

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", "不","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

这个元素名称更具描述性,因此我认为没有必要进一步解释这一点.您可以看到全名,显示名称,用户选择用来表示自己的图像.

接下来我们可以做一点点的搜索......

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 =软件开发者

在这里它再次有点神秘,但到现在你应该习惯它.你可以从I元素中获取App ID,然后从那里取回到浏览服务f514d64b-8705-43b7-a400-c4f4f3dedfc0

所以你有它,从Windows商店中提取大量信息的基础知识,然后你可以随心所欲地做.如果您发现这有用和/或使某些应用程序利用这些信息,请提供一些其他信息以供分享或以其他方式在评论中告诉我


Ton*_*ina 2

没有这样的 API 用于检索数据。如果您想提供此类信息,您必须直接从网站上抓取数据,然后自行保留。做类似事情的网站已经做了类似的事情。