@@ -86,7 +86,7 @@ public function parseApplication($packageName, $lang='en_US', $loc='US') {
8686 return ['success ' =>0 , 'message ' =>'No app data found ' ];
8787 }
8888
89- $ values ["developer " ] = strip_tags ($ this ->getRegVal ('/href="\/store\/apps\/developer\?id=(?<id>[^\"]+)"([^\>]+ |)>(?<content>[^\<]+)<\/a>/i ' ));
89+ $ values ["developer " ] = strip_tags ($ this ->getRegVal ('/href="\/store\/apps\/developer\?id=(?<id>[^\"]+)"([^\>]* |)>(\<span[^\>]*>)*( ?<content>[^\<]+)(<\/span>| )<\/a>/i ' ));
9090
9191 preg_match ('/itemprop="genre" href="\/store\/apps\/category\/(?<id>[^\"]+)"([^\>]+|)>(?<content>[^\<]+)<\/a><\/span>/i ' , $ this ->input , $ category );
9292 if (isset ($ category ["id " ], $ category ["content " ])) {
@@ -100,22 +100,23 @@ public function parseApplication($packageName, $lang='en_US', $loc='US') {
100100 $ values ["type " ] = null ;
101101 }
102102
103- $ values ["summary " ] = '' ;
104- $ values ["description " ] = $ this ->getRegVal ('/itemprop="description"><span jsslot ><div jsname="sngebd ">(?<content>.*?)<\/div><\/span>< div/i ' );
105- if ( strtolower (substr ($ lang ,0 ,2 )) != 'en ' ) { // Google sometimes keeps the EN description additionally, so we need to filter it out
103+ $ values ["summary " ] = strip_tags ( $ this -> getRegVal ( ' /property="og:description" content="(?<content>[^\"]+)/i ' )) ;
104+ $ values ["description " ] = $ this ->getRegVal ('/itemprop="description"[^\>]* ><div class="bARER ">(?<content>.*?)<\/div><div class= /i ' );
105+ if ( strtolower (substr ($ lang ,0 ,2 )) != 'en ' ) { // Google sometimes keeps the EN description additionally, so we need to filter it out **TODO:** check if this still applies (2022-05-27)
106106 if ($ this ->debug ) echo "Original Description: \n" . $ values ["description " ] . "\n\n" ;
107107 $ values ["description " ] = preg_replace ('!.*?<div jsname="Igi1ac" style="display:none;">(.+)!ims ' , '$1 ' , $ values ["description " ]);
108108 }
109- $ values ["icon " ] = $ this ->getRegVal ('/<div class="hkhL9e"><div class="xSyT2c"><img src="(?<content>[^\"]+)"/i ' );
110- $ values ["featureGraphic " ] = preg_replace ('!(.*)=w\d+.*!i ' , '$1 ' , $ this ->getRegVal ('/<meta name="twitter:image" content="(?<content>[^\"]+)"/i ' ));
109+ //$values["icon"] = $this->getRegVal('/<div class="JU1wdd"><div class="l8YSdd"><img src="(?<content>[^\"]+)"/i');
110+ $ values ["icon " ] = preg_replace ('!(.*)=w\d+.*!i ' , '$1 ' , $ this ->getRegVal ('/<meta name="twitter:image" content="(?<content>[^\"]+)"/i ' ));
111+ $ values ["featureGraphic " ] = preg_replace ('!(.*)=w\d+.*!i ' , '$1 ' , $ this ->getRegVal ('/<img class="oiEt0d" src="(?<content>[^\"]+)"/i ' ));
111112
112- preg_match ('/<div class="Rx5dXb "([^\>]+|)>(?<content>.*?)<c-data/i ' , $ this ->input , $ image );
113+ preg_match ('/<div class="aoJE7e qwPPwf "([^\>]+|)>(?<content>.*?)<c-data/i ' , $ this ->input , $ image );
113114 if ( isset ($ image ["content " ]) ) {
114115 preg_match_all ('/<img data-src="(?<content>[^\"]+)"/i ' , $ image ["content " ], $ images );
115116 if ( isset ($ images ["content " ]) && !empty ($ images ["content " ]) ) {
116117 $ values ["images " ] = $ images ["content " ];
117118 } else {
118- preg_match_all ('/<img src="[^"]*" srcset="(?<content>[^\s"]+)/i ' , $ image ["content " ], $ images );
119+ preg_match_all ('/<img (class="[^\"]+")* src="[^"]*" srcset="(?<content>[^\s"]+)/i ' , $ image ["content " ], $ images );
119120 if ( isset ($ images ["content " ]) ) {
120121 $ values ["images " ] = $ images ["content " ];
121122 } else {
@@ -127,19 +128,20 @@ public function parseApplication($packageName, $lang='en_US', $loc='US') {
127128 }
128129
129130 if ( substr (strtolower ($ lang ),0 ,2 )=='en ' ) {
130- $ values ["lastUpdated " ] = strip_tags ($ this ->getRegVal ('/<div class="BgcNfc">Updated<\/div><span class="htlgb"><div class="IQ1z0d"><span class="htlgb">(?<content>.*?)<\/span><\/div><\/span><\/div>/i ' ));
131- $ values ["versionName " ] = strip_tags ($ this ->getRegVal ('/<div class="BgcNfc">Current Version<\/div><span class="htlgb"><div class="IQ1z0d"><span class="htlgb">(?<content>.*?)<\/span><\/div><\/span><\/div>/i ' ));
132- $ values ["minimumSDKVersion " ] = strip_tags ($ this ->getRegVal ('/<div class="hAyfc"><div class="BgcNfc">Requires Android<\/div><span class="htlgb"><div class="IQ1z0d"><span class="htlgb">(?<content>.*?)<\/span><\/div><\/span><\/div>/i ' ));
133- $ values ["installs " ] = strip_tags ($ this ->getRegVal ('/<div class="hAyfc"><div class="BgcNfc">Installs<\/div><span class="htlgb"><div class="IQ1z0d"><span class="htlgb">(?<content>.*?)<\/span><\/div><\/span><\/div>/i ' ));
134- $ values ["age " ] = strip_tags ($ this ->getRegVal ('/<div class="hAyfc"><div class="BgcNfc">Content Rating<\/div><span class="htlgb"><div class="IQ1z0d"><span class="htlgb"><div>(?<content>.*?)<\/div>/i ' ));
135- $ values ["size " ] = $ this ->getRegVal ('/<div class="BgcNfc">Size<\/div><span class="htlgb"><div class="IQ1z0d"><span class="htlgb">(?<content>[^<]+)<\/span>/i ' );
131+ $ values ["lastUpdated " ] = strip_tags ($ this ->getRegVal ('/<div class="lXlx5">Updated on<\/div><div class="xg1aie">(?<content>.*?)<\/div><\/div>/i ' ));
132+ $ values ["versionName " ] = strip_tags ($ this ->getRegVal ('/<div class="BgcNfc">Current Version<\/div><span class="htlgb"><div class="IQ1z0d"><span class="htlgb">(?<content>.*?)<\/span><\/div><\/span><\/div>/i ' )); // 2022-05-27: gone
133+ $ values ["minimumSDKVersion " ] = strip_tags ($ this ->getRegVal ('/<div class="hAyfc"><div class="BgcNfc">Requires Android<\/div><span class="htlgb"><div class="IQ1z0d"><span class="htlgb">(?<content>.*?)<\/span><\/div><\/span><\/div>/i ' )); // 2022-05-27: gone
134+ $ values ["installs " ] = strip_tags ($ this ->getRegVal ('/<div class="ClM7O">(?<content>[^\>]*?)<\/div><div class="g1rdde">Downloads<\/div>/i ' ));
135+ $ values ["age " ] = strip_tags ($ this ->getRegVal ('/<span itemprop="contentRating"><span>(?<content>.*?)<\/span><\/span>/i ' ));
136+ $ values ["size " ] = $ this ->getRegVal ('/<div class="BgcNfc">Size<\/div><span class="htlgb"><div class="IQ1z0d"><span class="htlgb">(?<content>[^<]+)<\/span>/i ' ); // 2022-05-27: gone
137+ $ values ["video " ] = $ this ->getRegVal ('/<button aria-label="Play trailer".*?data-trailer-url="(?<content>[^\"]+?)"/i ' );
136138 } else {
137139 $ envals = $ this ->parseApplication ($ packageName );
138140 foreach (["lastUpdated " ,"versionName " ,"minimumSDKVersion " ,"installs " ,"age " ,"size " ] as $ val ) $ values [$ val ] = $ envals [$ val ];
139141 }
140142
141- $ values ["rating " ] = $ this ->getRegVal ('/<div class="BHMmbe "[^>]*>(?<content>[^<]+)<\/div>/i ' );
142- $ values ["votes " ] = $ this ->getRegVal ('/<span class="AYi5wd TBRnV"><span[^>]*> (?<content>[^>]+)<\/span >/i ' );
143+ $ values ["rating " ] = $ this ->getRegVal ('/<div itemprop="starRating"><div class="TT9eCd "[^\ >]*>(?<content>[^<]+)(<i class="[^\>]*>star<\/i>)* <\/div>/i ' );
144+ $ values ["votes " ] = $ this ->getRegVal ('/<div class="g1rdde"> (?<content>[^>]+) reviews <\/div >/i ' );
143145 $ values ["price " ] = $ this ->getRegVal ('/<meta itemprop="price" content="(?<content>[^"]+)">/i ' );
144146 $ test = $ this ->getRegVal ('/<div class="bSIuKf">(?<content>[^<]+)<div/i ' ); // <div class="bSIuKf">Contains Ads<div
145147 (empty ($ test )) ? $ values ["ads " ] = 0 : $ values ["ads " ] = 1 ;
0 commit comments