2013-03-20 105 views

回答

1

那么,我选择了以下解决方案。 因为我是一名.NET程序员,所以使用Java库并不容易,而且我也没有足够的时间将它们重写为C#。

在史蒂芬·桑德森的博客,我发现无头的浏览器自动化的文章(http://blog.stevensanderson.com/2010/03/30/using-htmlunit-on-net-for-headless-browser-automation/

这里是我写的代码:

WebClient _webClient = new WebClient(BrowserVersion.FIREFOX_17); 
_webClient.getOptions().setUseInsecureSSL(true); 
_webClient.getOptions().setThrowExceptionOnScriptError(false); 
_webClient.getOptions().setRedirectEnabled(true); 

var page = (HtmlPage)_webClient.getPage("https://play.google.com/apps/publish/v2/"); 

HtmlInput emailElement = (HtmlTextInput)page.getElementById("Email"); 
emailElement.type(Settings.Default.Login); 

HtmlInput passwordElement = (HtmlInput)page.getElementById("Passwd"); 
passwordElement.type(Settings.Default.Password); 

HtmlSubmitInput signInLink = (HtmlSubmitInput)page.getElementById("signIn"); 
HtmlPage page2 = (HtmlPage)signInLink.click(); 

_webClient.waitForBackgroundJavaScript(2000); 

var installsNode = (from p in page2.getElementsByTagName("p").toArray().Cast<HtmlParagraph>() 
        let data_column = p.getAttribute("data-column") 
      where data_column != null && "INSTALLS".Equals(data_column, StringComparison.OrdinalIgnoreCase) 
      select p).FirstOrDefault(); 
2

发现看一看在GitHub上Andlytics项目。它也是Google Play上的开源应用程序。你会在链接的GitHub页面上找到一个链接。

但是,它不是(目前)在Google Play商店上的一个特定应用程序。而是与您的开发者帐户连接,并获取有关使用相同方式发布的每个应用程序的信息。

这就是说,既然它是开源的,我相信它可以调整以适应你的确切目的。

这里还有一个非官方的API:https://code.google.com/p/android-market-api/。但快速查看源代码表明,这不会更新/定期更新。

Andlytics另一方面是定期更新(以适应对Google Play商店所做的任何更改)。

相关问题