2011-07-13 12 views
4

私はPythonを使用してモバイルアプリケーションに関する統計を収集していますが、今はBlackberry App Worldデータにアクセスするための最良のソリューションを探しています。Blackberry App World(API)のアプリケーション固有のデータを取得する最良の方法

これまでのところ、iOS(http://www.apple.com/itunes/affiliates/resources/documentation/itunes-store-web-service-search-api.html)とAndroid(https://github.com/liato/android-market-api-py)のソリューションがあります。 iOSソリューションはAppleが提供するAPIを使用し、Androidソリューションは電話をシミュレートし、実際の電話機が構造化された方法でデータを収集する方法でデータを収集します。

今、私はBlackBerry App Worldと同様のソリューションを見つけることができないので、私の質問は、どのような最善の方法ですか?私はサイトを掻き集めることができますが、私は自分のサイトを変更した場合、私のスクレーパーが壊れるので、むしろそうです。理想的には、提供されたAPIを使用するか、BlackBerryをシミュレートしてより構造化された方法でApp Worldデータにアクセスします。助言がありますか?

答えて

1

私はしばらくの間、ブラックベリーのウェブサイトを削っていて、これまでのアップデートでは問題はありませんでした。

文書のルートから絶対XPathを使用してデータを抽出していますか?あなたは相対XPathを使用することにより、より強固なスクレーパーを行うことができます。

//div[@id="priceArea"]/div[@class="contentLic"] 
0

私はしばらくの間、.NETのセレンwebdriverをとphantomDriverとcsqueryを使用して、これまでのアップデートで問題がなかったことにより、ブラックベリーのウェブサイトをスクレイピングしています。

//Creating dynamic browser and download the page source code based on apipath by using selenium web driver  
driver = new PhantomJSDriver(phantomDriverPath); 
//driver=new ChromeDriver(chromeDriverPath); 
driver.Url = "https://appworld.blackberry.com/webstore/search/"+<search app name>+"/?lang=en&countrycode=IN"; 
driver.Navigate(); 
//Waiting for page loading 
Thread.Sleep(2000);//2 seconds 
if (driver.PageSource != null) 
{ 
    //Assigning downloaded page source code to CSQuery 
    CQ dom = CQ.CreateDocument(driver.PageSource); 
    //Waiting for page loading 
    driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(30)); 
    //find the elements what ever you want based on the id,class name,tag name 
    string title1 =  dom["#topListtopResultsAppTemplateHTML_listItem_0_title"].Text(); 
} 
0

私はしばらくの間、セレンwebdriverをphantomDriver .NETでとCSQueryを使用してブラックベリーのウェブサイトをスクレイピングしていると私は、これまでの更新プログラムで問題がなかったです。

//Creating dynamic browser and download the page source code 
//based on apipath by using selenium web driver 
public IWebDriver driver; 
driver = new PhantomJSDriver(phantomDriverPath); 

//driver=new ChromeDriver(chromeDriverPath); 

driver.Url = "https://appworld.blackberry.com/webstore/search/"+appname+"/lang=en&countrycode=IN"; 
driver.Navigate(); 

//Waiting for page loading Thread.Sleep(2000);//2 seconds 
if (driver.PageSource != null){ 

//Assigning downloaded page source code to CSQuery 
CQ dom = CQ.CreateDocument(driver.PageSource); 

//Waiting for page loading 
driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(30)); 

//find the elements what ever you want based on the id,class name,tag name 
string title1 = dom["#topListtopResultsAppTemplateHTML_listItem_0_title"].Text(); 
} 

あなたはコーディングを始める前に、お使いのPCにセレンwebdriverをファントムドライバをダウンロードしてください(C:\Users\rakesh\Documents\Selenium\PhantomJSDriverなど)とあなたのVisual StudioでCSQueryをインストールしてください。

インストールwebdriverを:

Install-Package Selenium.WebDriver 

インストールphantomjs:

​​
関連する問題