Free Scraper + Circle Adder for Google Play Store Reviewers

Status
Not open for further replies.

neOtron

Power Member
Joined
Nov 22, 2012
Messages
512
Reaction score
630
Hello,


Reading this thread http://www.blackhatworld.com/blackh...method-finally-able-spam-google-plus-d-2.html
i decided to give it a go. but dint wanna buy a software before i test the method .


So i made a simple scraper for scraping all the Gplus user profiles who left reviews on apps in play.google store.


i have made the code available for public and also hosted it on my server for a limited lime so you may use it.


PHP Code is mentioned below. I will explain how to use this :


Lets say you want to scrape the reviewers for this application (Fruit splash) :
https://play.google.com/store/apps/details?id=com.icegame.fruitlink


so your App id is : com.icegame.fruitlink


Now All you need to do is to upload this to your server and visit your webpage with some parameters.
Example . suppose you create a new folder in your root folder of your server called "playg"


Code:
Then Visit : http://www.example.com/playg/?start={startPageNumber}&end={EndPageNmber}&app={AppID}
Example:         http://www.example.com/playg/?start=1&end=10&app=com.icegame.fruitlink
                http://www.example.com/playg/?start=10&end=100&app=com.icegame.fruitlink
                http://www.example.com/playg/?start=100&end=112&app=com.icegame.fruitlink
That's all . you will be able to download your file from the link shown on the webpage.


I have included proxy support in the script with the proxy:port format. SO if you have private proxies then put them in a file called "proxy.txt" and upload it to the directory.




PHP CODE
PHP:
<?php
set_time_limit(100);$start= (isset($_REQUEST['start']) ? $_REQUEST['start'] : 1);$end= (isset($_REQUEST['end']) ? $_REQUEST['end'] : 1);
if(!isset($_REQUEST['app'])){    echo "please provide app url";    exit;}$data['url']='https://play.google.com/store/getreviews?authuser=0';$proxy=trim(pop_first_line("proxy.txt","used_proxy.txt"));
echo "<h1><a href='ids".trim($_REQUEST['app']).".txt'>DOWNLOAD YOUR FILE</a></h1>";
for($i=$start;$i<=$end;$i++){    if(($i%9)==0)    {        $proxy=trim(pop_first_line("proxy.txt","used_proxy.txt"));    }    $data['postdata']="reviewType=0&pageNum=".trim($i)."&id=".trim($_REQUEST['app'])."&reviewSortOrder=4&xhr=1";
    Echo "<HR>===>Scraping Page $i ";    $content=curl_post($data['url'],$data['postdata'],$proxy);    //printhtml($content);    if(strlen($content)>50)    {        if(preg_match_all("#people/details\?id\\\u003d(.+?)\\\#is",$content,$match))        {            //print_array($match[1]);            $result1 = array_unique($match[1]);            $result = array_values($result1);            for($j=0;$j<count($result);$j++)            {                $url="https://plus.google.com/".trim($result[$j])."/posts";                file_put_contents("ids".$_REQUEST['app'].".txt",$url."\n",FILE_APPEND);                //echo "<BR>".$result[$j];            }            echo "<BR>Total Id Unique ID Found : ".count($result);        }        else        {            echo "<br>Failed :".$i;            file_put_contents("failed".$_REQUEST['app'].".txt",$i."\n",FILE_APPEND);        }    }    else    {        echo "<BR> No more Data";        exit;    }}

function curl_post($url, $data,$proxy) {     $post = curl_init();
   curl_setopt($post, CURLOPT_URL, $url);   curl_setopt($post, CURLOPT_POST, TRUE);   curl_setopt($post, CURLOPT_POSTFIELDS, $data);   curl_setopt($post, CURLOPT_RETURNTRANSFER, 1);   curl_setopt($post, CURLOPT_PROXY, $proxy); //  curl_setopt($post, CURLOPT_PROXYUSERPWD, @$proxyuserpwd);   $result = curl_exec($post);   curl_close($post);   return $result;}function printhtml($str){    echo "<br><textarea>".htmlentities($str)."</textarea><br>";}    

function pop_first_line($mainlist,$usedlist){    $last_thread_flag = null; //this is the flag that says to empty the mainlist file    $listarray = file($mainlist); // opens the file and then loads each line into an array    if(count($listarray)<=0)    {        //printnotice("main list was empty so flipping the files ");        $templist=file($usedlist);        foreach($templist as $line)        {            file_put_contents($mainlist,$line,FILE_APPEND);        }        file_put_contents($usedlist,'');        $listarray = file($mainlist);    }    if(count($listarray)>0)        {        //printnotice("total lines in list are : ".count($listarray));        $thread_flag = 1;        $line = $listarray[0];        $used_listarray = array_slice($listarray,0,1);        foreach($used_listarray as $line)            {            file_put_contents($usedlist,$line,FILE_APPEND);        }                    $remaining_listarray = array_slice($listarray,1);        if(isset($thread_flag))        {               file_put_contents($mainlist,$remaining_listarray);        }        else        {            file_put_contents($mainlist,''); // blanks out the file        }            }    return  $line;}






Now second part. How to add these users to you gplus account.
Answer : DOwnload your userid list from your server and Use Imacros to add them to your account :


Code:
VERSION BUILD=8920312 RECORDER=FX
SET !ERRORIGNORE YES
SET !EXTRACT_TEST_POPUP NO
TAB T=1
SET !DATASOURCE_COLUMNS 1
SET !DATASOURCE C:\Users\Administrator\Documents\iMacros\Macros\gplusprofiles.txt
SET !LOOP 1
SET !DATASOURCE_LINE {{!LOOP}}
URL GOTO={{!COL1}}
WAIT SECONDS=2
CLICK X=349 Y=272
WAIT SECONDS=2
CLICK X=365 Y=338
WAIT SECONDS=2
CLICK X=165 Y=338
WAIT SECONDS=2
CLICK X=335 Y=313
WAIT SECONDS=2
CLICK X=294 Y=382
WAIT SECONDS=2




Note1: fix the datasource path incase u have a different imacros folder path.
Note2: the above imacros script is based on the click coordinates so u might have to change it .but i doubt that u will have to change it.




That's all. Incase u face any issue. ask in the thread. i wont reply to PM . Also this is freebie so dont expect much support . i will reply when i get time.


One more thing. you might want to buy GplusDOminator of indianbill if you plan to use this method seriously. like i m planning to do soon.


Download link : http://www.mediafire.com/download/fm1kuym3tweqo0n/play.zip


VirusToal result link : https://www.virustotal.com/en/file/...4bd98574d4fec2d3b7dc4062/analysis/1430082023/

If all above is too much technical for you then you may use my hosted script here :
http://www.trackyoutube.com/playg/
Code:
Use this with parameters : 
www.trackyoutube.com/playg/?start=1&end=1&app=com.icegame.fruitlink

And please dont abuse it else i will take it down :p. Better use your own server and private proxies. my scripts is working only on 10 proxies so if a lot of you start using it the proxies will get google block in a flash.
 
Last edited:
I tested it on your link and it's working perfectly. Now I'll just use it on my server so as not to jam your hosting.
Thanks!
 
Thanks. Tried it and it is working. My only problem is on the imacros. It seems the x/y coordinates are off. I changed the values on your script using the coordinates i get from my clicker but still it doesnt work. :( how do you determine the correct coordinates?
 
Thanks. Tried it and it is working. My only problem is on the imacros. It seems the x/y coordinates are off. I changed the values on your script using the coordinates i get from my clicker but still it doesnt work. :( how do you determine the correct coordinates?

The click coordinates should be as follows:



wait for 2 second ,First click the red button that says "Add to circle" , wait for 2 second and then click "following" wait two second and . then click on the left area of the page. This is to hide the follow menu. wait for 2 second
WAIT SECONDS=2
CLICK X=349 Y=272
WAIT SECONDS=2
CLICK X=365 Y=338
WAIT SECONDS=2
CLICK X=165 Y=338
WAIT SECONDS=2




also there are cases when the there is a larger text below the profile picture ,in which case the "add to circle' goes down a bit. so the second set of clicks are to deal with this situation
CLICK X=335 Y=313
WAIT SECONDS=2
CLICK X=294 Y=382
WAIT SECONDS=2
 
Last edited:
You also need to take into consideration the case when the user has "location" on his page. Then it needs to be readjusted, "close tab" and "tab 1 " added. Or else you'll get 100 google maps in your browser.
 
oh lol. i dint encounter such scenario. do u already have solution for that?
 
Like I said, you add more coordinates, add close tab command, add tab 1 command after each coordinate.
 
Neotro, it's a really good job from your part, however I saw that the script stops to scrape above that page 112, and I can't do it work locally, I tried in xampp, it just said "No more Data"
 
Very nice of you to share your script with us bro. I was trying out this method, but doing everything manually is a pain and I need some bot but most of the bots are quite expensive. So, thanks a lot for helping us out :) I am gonna try out the script now and see if it works fine for me. Thanks again mate for an awesome share :)
 
Neotro, it's a really good job from your part, however I saw that the script stops to scrape above that page 112, and I can't do it work locally, I tried in xampp, it just said "No more Data"

yup i checked several app . google play dont give us result more then 112 pages (4000 reviews) . i dont understand why. some kind of limitation i belive. though i dint try to dig deeper
 
Very nice of you to share your script with us bro. I was trying out this method, but doing everything manually is a pain and I need some bot but most of the bots are quite expensive. So, thanks a lot for helping us out :) I am gonna try out the script now and see if it works fine for me. Thanks again mate for an awesome share :)

Glad to help :)
thi method dint work for me though . got 30-35 followbacks after 3k following in last 24 hour which totally sucks .maybe i m doing something wrong :( let me know if u find any success


Like I said, you add more coordinates, add close tab command, add tab 1 command after each coordinate.

but why do we need multiple tabs?
 
Actually i don't need this script (for now) but i want to thank you for your good work.
i have respect for people who creates new things
 
yup i checked several app . google play dont give us result more then 112 pages (4000 reviews) . i dont understand why. some kind of limitation i belive. though i dint try to dig deeper

How about doing
Code:
[URL]http://www.example.com/playg/?start=112&end=224&app=com.icegame.fruitlink[/URL]
[URL]http://www.example.com/playg/?start=224&end=336&app=com.icegame.fruitlink[/URL]
and so on...
 
How about doing
Code:
[URL]http://www.example.com/playg/?start=112&end=224&app=com.icegame.fruitlink[/URL]
[URL]http://www.example.com/playg/?start=224&end=336&app=com.icegame.fruitlink[/URL]
and so on...
Anypage after 112 dont return any data but a blank json array.
 
well, 4k is still better than nothing, there are countless apps on g play, it's still a lot of ppl
 
Glad to help :)




but why do we need multiple tabs?

Because one coordinate click will hit the "location" link and open Google maps. If you add 100 people, you'll have 200 tabs open and your firefox won't like it.
 
Status
Not open for further replies.
Back
Top