魏长东

weichangdong

抓取google play软件信息

产品需求,需要根据2w多个android软件id,去google play抓取相应软件id的分类信息和软件名字。

include 'Snoopy.class.php';
$snoopy = new Snoopy;

$ids = array(
    'com.monotype.android.font.root.font100',
'com.ding.easyme.android.expe.bodybeauty',
'com.ding.easyme.android.doperson',
);
$ids = array_unique($ids);
$category_reg = '|<span itemprop="genre">(.*?)</span>|si';
$name_reg = '|<div class="document-title" itemprop="name">\s*<div>(.*?)</div>|si';
foreach ($ids as $id) {
    $snoopy->fetch("https://play.google.com/store/apps/details?id=".$id);
    $re = $snoopy->results;
    if (empty($re)) 
    {
        echo $id." no match\n";
        continue;
    } 
    preg_match_all($category_reg, $re, $category);
    preg_match_all($name_reg, $re, $name);
    //print_R($category);
    //print_R($name);
    if ($category  || $name) {
        echo $id."\t".$name."\t".$category."\n";
    }
    usleep(100);
}

运行ok,就是出来的记录有点少。2w多个id,能出来记录的只有9k多。别的一些软件在GP上没有信息,所以才这样子。

真的有点怀才不遇的感觉啊,混了这么多年,感觉技术还是可以的,但是。。。