最近在用node.js爬取google Play, Itunes Connect 的數(shù)據。
總結一下思路,給大家做參考。
我抓取的都是某個app的評論,評星相關的信息。
以下我分前后臺和分網站說明。
前臺:
注意
<em>要注意的就是這兩個網站的評論都按語言分區(qū)的</em>
googlePlay
舉幾個lang的例子:
英文(en) 中文-簡體(zh-cn) 中文-繁體(zh_TW) 日語(ja) 法語(FR) 德語(DE_DE) 意大利語(it_IT) 西班牙語(ES) 荷蘭語(nl_NL) 土耳其語(tr_TR) 阿拉伯語(ar-BH) 克羅地亞語(hr-BA)
后幾個DE_DE這種'_'前后一致的可以只寫一個app Store/Itunes
舉幾個lang的例子:
en, cn, TW, fr, DE, it, nl, tr
前臺抓取
- google Play
前臺抓取其實沒什么好說的,常規(guī)抓取就好了。
googlePlay的語言在鏈接最后,鏈接如下:
https://play.google.com/store/apps/details?id={youAppName}&hl={lang} ```
有一個問題,是這樣的:從頁面抓取的評論時間都是不同語言顯示的,可能是我技術不到家??,像什么阿拉伯語之類的不會轉換,所以無法按時間排序。如果只抓取中文英文什么的就不是問題了。
- appStore /Itunes
網頁版appStore只會顯示最好的3條評論(四星以上不夠3條的也不顯示其他評論),所以沒有什么抓取的價值,鏈接如下:
https://itunes.apple.com/{lang}/app/{appName}/id{youAppId}?mt=8 ```
appName有的app有,有的沒有,看具體app的鏈接吧~
<p>用前臺方式獲取完整評論的方式就是通過Itunes
具體鏈接如下:
itunes.apple.com/WebObjects/MZStore.woa/wa/userReviewsRow?cc={lang}&id={youAppId}&displayable-kind=11&startIndex=0&endIndex=100&sort=0&appVersion=all
通過這個鏈接獲取需要在請求的時候,在header中配置一個用戶代理
headers: {'User-Agent': 'iTunes/11.0 (Windows; Microsoft Windows 7 Business Edition Service Pack 1 (Build 7601)) AppleWebKit/536.27.1'}
</p>
再通過變換lang就可以獲取全部的評論了,google一定要翻墻,itunes中文可以不翻墻,其他語言好像也需要。
google一定要能在終端里ping通google,如果只是網頁可以訪問,終端ping不通也是沒法抓的。