【问题标题】:windows store api to access metro and phone apps information [closed]用于访问地铁和电话应用程序信息的 Windows 商店 api [关闭]
【发布时间】:2013-03-15 23:34:49
【问题描述】:

我想知道是否有任何官方的 microsoft api 用于地铁和电话应用程序,我们可以连接并获取有关应用程序、下载、发布者等的信息。

我认为 live api 仅适用于与 skydrive、hotmail 或 skype 连接的应用程序。

我可以看到很多网站在他们的网站上提供此类信息。

提前致谢。

【问题讨论】:

  • 你能给我一个网站名称,显示有关 windowsphone 应用程序的应用程序信息

标签: api windows-phone-7 microsoft-metro windows-store-apps


【解决方案1】:

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

【讨论】:

  • 这意味着我需要解析 html 来获取所需的数据??
  • 是的,您需要自己从windowsphone.com下载所有信息。
  • 在这种情况下,我们需要登录凭据并需要使用 java 脚本解析 html 页面
  • 您不需要任何凭据。为什么需要 javascript 进行解析?您可以使用 C++、C# 或任何其他语言来执行此操作。
  • 通常这些信息只有在登录后才可见,所以我想我在哪里可以获取应用程序下载、崩溃计数等,你能帮我吗
【解决方案2】:

您可以在 windows phone8 应用程序中这样做, 只需将您的应用升级到 wp8 并使用此链接 Windows.ApplicationModel.Store namespace 访问市场中的应用信息。

希望这会对你有所帮助。

【讨论】:

    【解决方案3】:
    【解决方案4】:

    您好,这是我创建的一篇博客文章,概述了该过程: 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 等搜索引擎使用它们来索引 Web 内容,垃圾邮件发送者使用它们来扫描电子邮件地址,它们还有许多其他用途。

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

    http://www.sitemaps.org/

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

    站点地图索引文件列出了每个单独的站点地图 XML 文件。在撰写本文时,apps.microsoft.com 网站有 141 个单独的站点地图 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 应用商店中有超过 210,000 条应用评论。这些评论来自世界各地,所以你需要一些国家代码,你方便的花花公子 App Id 并注意最后的 pn/1,你会发现这个服务每页只返回 10 条评论,只是增加将此值设置为 pn/2、pn/3 等。直到您的评论用完。

    var arrCountryCodes = [“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”、“越南"];

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

    这里又有点神秘了,但现在你应该已经习惯了。您可以从 I 元素获取 App ID 并将其从那里带回浏览服务 f514d64b-8705-43b7-a400-c4f4f3dedfc0

    您已经掌握了从 Windows 应用商店中提取大量信息的基础知识,然后您就可以随心所欲地使用这些信息了。如果您觉得这很有用和/或利用这些信息制作了一些应用程序,请分享一些其他信息,否则请在 cmets 中告诉我

    【讨论】:

      【解决方案5】:

      您可以考虑使用第三方提供的免费 API,例如 http://www.appfeds.com/general/api/

      【讨论】:

        猜你喜欢
        • 2012-07-21
        • 2012-12-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多