|
|
@ -5,6 +5,9 @@ namespace App\Services; |
|
|
set_time_limit(0); |
|
|
set_time_limit(0); |
|
|
date_default_timezone_set('UTC'); |
|
|
date_default_timezone_set('UTC'); |
|
|
|
|
|
|
|
|
|
|
|
use GuzzleHttp\Command\Guzzle\GuzzleClient; |
|
|
|
|
|
use Illuminate\Support\Arr; |
|
|
|
|
|
use Illuminate\Support\Facades\Log; |
|
|
use InstagramAPI\Response\Model\Item; |
|
|
use InstagramAPI\Response\Model\Item; |
|
|
use InstagramAPI\Instagram; |
|
|
use InstagramAPI\Instagram; |
|
|
use App\Instagram as Ins; |
|
|
use App\Instagram as Ins; |
|
|
@ -17,6 +20,90 @@ class InstagramService |
|
|
private $debug = false; |
|
|
private $debug = false; |
|
|
private $truncatedDebug = false; |
|
|
private $truncatedDebug = false; |
|
|
|
|
|
|
|
|
|
|
|
private $userList = [ |
|
|
|
|
|
["bedich520" => 17707667205], |
|
|
|
|
|
["airisuzuki_official_uf" => 5585980310], |
|
|
|
|
|
["nancylobh" => 17865689564], |
|
|
|
|
|
["eom_sangmi" => 1243405225], |
|
|
|
|
|
["welsh_koby" => 12048064898], |
|
|
|
|
|
["limerencelm" => 13305603901], |
|
|
|
|
|
["__leeheeeun__" => 366102850], |
|
|
|
|
|
["jeonjisu92" => 478396079], |
|
|
|
|
|
["aiiiiidj" => 4839785330], |
|
|
|
|
|
["senap_official" => 8611432627], |
|
|
|
|
|
["super_fetish" => 12801506409], |
|
|
|
|
|
["jelly_jilli" => 3581231676], |
|
|
|
|
|
["ji_an35" => 9498787524], |
|
|
|
|
|
["lusiakiss" => 448335248], |
|
|
|
|
|
["ngoctrinh89" => 1526791424], |
|
|
|
|
|
["yiping_0226" => 632775673], |
|
|
|
|
|
["wsmslbn" => 6794713533], |
|
|
|
|
|
["mc807lsy" => 3315177035], |
|
|
|
|
|
["beauty.leg" => 3320867558], |
|
|
|
|
|
["queena820628" => 12991274468], |
|
|
|
|
|
["bitnara1105" => 5849529154], |
|
|
|
|
|
["mobe_19920223" => 566598605], |
|
|
|
|
|
["mikamikatn" => 4156629214], |
|
|
|
|
|
["inkyung97" => 5763414441], |
|
|
|
|
|
["e_seoa" => 6859472347], |
|
|
|
|
|
["r_ap82_" => 11599648301], |
|
|
|
|
|
["hanna91914" => 6114468708], |
|
|
|
|
|
["hana.bunny_bunny" => 3273363525], |
|
|
|
|
|
["rakukoo" => 24837017], |
|
|
|
|
|
["suyue233" => 6196235525], |
|
|
|
|
|
["sakura_maomao" => 8173365074], |
|
|
|
|
|
["irishuo_" => 598800246], |
|
|
|
|
|
["maousamaa" => 3662020754], |
|
|
|
|
|
["dongdong810" => 647869935], |
|
|
|
|
|
["m.hakase" => 1509208867], |
|
|
|
|
|
["dododoris__" => 539095769], |
|
|
|
|
|
["banyfit" => 574865424], |
|
|
|
|
|
["cherry_quahst" => 22834825], |
|
|
|
|
|
["tngnlo" => 184952266], |
|
|
|
|
|
["7alice77" => 7502308859], |
|
|
|
|
|
["e.s2.e" => 1112115704], |
|
|
|
|
|
["aohsuehfu" => 241869017], |
|
|
|
|
|
["beargenie" => 454557268], |
|
|
|
|
|
["changchinlan" => 178911602], |
|
|
|
|
|
["dadachan" => 1361004], |
|
|
|
|
|
["imjennycheng" => 286180341], |
|
|
|
|
|
["loveruby_official" => 2198824121], |
|
|
|
|
|
["maggiewu1008" => 372772460], |
|
|
|
|
|
["nyanchan22" => 527514115], |
|
|
|
|
|
["nz0502" => 1101667954], |
|
|
|
|
|
["sharalinmusic" => 468754721], |
|
|
|
|
|
["yura_936" => 1780070827], |
|
|
|
|
|
["skuukzky" => 1507979106], |
|
|
|
|
|
["angelcandices" => 43114731], |
|
|
|
|
|
["yoona__lim" => 2213235565], |
|
|
|
|
|
["masami_nagasawa" => 1126358805], |
|
|
|
|
|
["weiman_the_real_one" => 367492101], |
|
|
|
|
|
["sabrina888888_" => 19900699], |
|
|
|
|
|
["yifei_cc" => 6648247795], |
|
|
|
|
|
["siawase726" => 343071306], |
|
|
|
|
|
["claudiashkim" => 1553792415], |
|
|
|
|
|
["amberchenslife" => 2104721], |
|
|
|
|
|
["jennawang525" => 296074766], |
|
|
|
|
|
["aoi_sola" => 2080763], |
|
|
|
|
|
["li_yen_chin" => 1585810775], |
|
|
|
|
|
["vousmevoyez" => 1774404143], |
|
|
|
|
|
["parlovetati" => 381724660], |
|
|
|
|
|
["lurehsu" => 291109063], |
|
|
|
|
|
["shinopp._.ai" => 1992367739], |
|
|
|
|
|
["1992.ai_" => 8108074320], |
|
|
|
|
|
["yui_xin_" => 1934526383], |
|
|
|
|
|
["isangelc" => 4308276], |
|
|
|
|
|
["amandacerny" => 10245870], |
|
|
|
|
|
["mandytao" => 202316740], |
|
|
|
|
|
["taeyeon_ss" => 329452045], |
|
|
|
|
|
["seojuhyun_s" => 1499879597], |
|
|
|
|
|
["nyanchan22" => 527514115], |
|
|
|
|
|
["shuhan.mei" => 202813045], |
|
|
|
|
|
["cho_hyunyoung" => 1097213789], |
|
|
|
|
|
["cr5p__br" => 1577496884], |
|
|
|
|
|
["cxxsomi" => 644060463] |
|
|
|
|
|
]; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function traceExistFiles($dir) |
|
|
function traceExistFiles($dir) |
|
|
{ |
|
|
{ |
|
|
@ -89,7 +176,7 @@ class InstagramService |
|
|
curl_setopt($ch, CURLOPT_HEADER, 0); |
|
|
curl_setopt($ch, CURLOPT_HEADER, 0); |
|
|
$image = curl_exec($ch); |
|
|
$image = curl_exec($ch); |
|
|
curl_close($ch); |
|
|
curl_close($ch); |
|
|
// $image = file_get_contents($filenameUrl, false, null);
|
|
|
|
|
|
|
|
|
// $image = file_get_contents($filenameUrl, false, null);
|
|
|
} catch (\Throwable $e) { |
|
|
} catch (\Throwable $e) { |
|
|
var_dump($e->getMessage()); |
|
|
var_dump($e->getMessage()); |
|
|
$this->logFailUrl($filePrefix, $filenameUrl); |
|
|
$this->logFailUrl($filePrefix, $filenameUrl); |
|
|
@ -219,7 +306,16 @@ class InstagramService |
|
|
// echo $trueName;exit;
|
|
|
// echo $trueName;exit;
|
|
|
$thisUserImageDir = $baseImageDir . $trueName . "/"; |
|
|
$thisUserImageDir = $baseImageDir . $trueName . "/"; |
|
|
// $existFiles = $this->traceExistFiles($thisUserImageDir);
|
|
|
// $existFiles = $this->traceExistFiles($thisUserImageDir);
|
|
|
$userId = $ig->people->getUserIdForName(trim($userName)); |
|
|
|
|
|
|
|
|
try { |
|
|
|
|
|
$userId = $ig->people->getUserIdForName(trim($userName)); |
|
|
|
|
|
} catch (\Exception $e) { |
|
|
|
|
|
// if ($e instanceof UserNotFou)
|
|
|
|
|
|
Log::error("ins get user id for name error: " . $e->getMessage() . " username is " . $userName); |
|
|
|
|
|
if (array_key_exists(trim($userName), $userList)) { |
|
|
|
|
|
$userId = Arr::get($userList, trim($userName)); |
|
|
|
|
|
} |
|
|
|
|
|
// continue;
|
|
|
|
|
|
} |
|
|
echo "\n username: " . $trueName . " " . $userId . "\n"; |
|
|
echo "\n username: " . $trueName . " " . $userId . "\n"; |
|
|
// continue;
|
|
|
// continue;
|
|
|
|
|
|
|
|
|
@ -235,7 +331,7 @@ class InstagramService |
|
|
$res = $this->downloadFile($videoUrl, 0, $thisUserImageDir); |
|
|
$res = $this->downloadFile($videoUrl, 0, $thisUserImageDir); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
// echo $item[0]->getVideoVersions()[0]->getUrl();
|
|
|
|
|
|
|
|
|
// echo $item[0]->getVideoVersions()[0]->getUrl();
|
|
|
sleep(5); |
|
|
sleep(5); |
|
|
$maxId = null; |
|
|
$maxId = null; |
|
|
// }
|
|
|
// }
|
|
|
@ -368,4 +464,68 @@ class InstagramService |
|
|
{ |
|
|
{ |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public function getUserNameById($id = 12801506409) |
|
|
|
|
|
{ |
|
|
|
|
|
$ig = new Instagram($this->debug, $this->truncatedDebug); |
|
|
|
|
|
|
|
|
|
|
|
try { |
|
|
|
|
|
$ig->login($this->username, $this->password); |
|
|
|
|
|
} catch (\Exception $e) { |
|
|
|
|
|
echo 'Something went wrong: ' . $e->getMessage() . "\n"; |
|
|
|
|
|
exit(0); |
|
|
|
|
|
} |
|
|
|
|
|
dump($ig->people->getInfoById($id)); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public function queryFollowUsers() |
|
|
|
|
|
{ |
|
|
|
|
|
$params = []; |
|
|
|
|
|
$params["id"] = 361404591; |
|
|
|
|
|
$params["include_reel"] = true; |
|
|
|
|
|
$params["first"] = 24; |
|
|
|
|
|
$var = json_encode($params); |
|
|
|
|
|
|
|
|
|
|
|
$curl = curl_init(); |
|
|
|
|
|
|
|
|
|
|
|
curl_setopt_array($curl, array( |
|
|
|
|
|
CURLOPT_URL => "https://www.instagram.com/graphql/query/?query_hash=d04b0a864b4b54837c0d870b0e77e076&variables=$var", |
|
|
|
|
|
CURLOPT_RETURNTRANSFER => true, |
|
|
|
|
|
CURLOPT_ENCODING => "", |
|
|
|
|
|
CURLOPT_MAXREDIRS => 10, |
|
|
|
|
|
CURLOPT_TIMEOUT => 0, |
|
|
|
|
|
CURLOPT_FOLLOWLOCATION => true, |
|
|
|
|
|
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, |
|
|
|
|
|
CURLOPT_CUSTOMREQUEST => "GET", |
|
|
|
|
|
CURLOPT_HTTPHEADER => array( |
|
|
|
|
|
"authority: www.instagram.com", |
|
|
|
|
|
"pragma: no-cache", |
|
|
|
|
|
"cache-control: no-cache", |
|
|
|
|
|
"accept: */*", |
|
|
|
|
|
"x-ig-www-claim: hmac.AR2DN3JP5T1uzerp-Udyl58luFekDMO1MUYZolRys4KAvNm6", |
|
|
|
|
|
"x-requested-with: XMLHttpRequest", |
|
|
|
|
|
"user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36", |
|
|
|
|
|
"x-csrftoken: 7WVPjhWHhNqm2h1wcnslDgdkJJ9Ahqc6", |
|
|
|
|
|
"x-ig-app-id: 936619743392459", |
|
|
|
|
|
"sec-fetch-site: same-origin", |
|
|
|
|
|
"sec-fetch-mode: cors", |
|
|
|
|
|
"referer: https://www.instagram.com/nicksxs/following/", |
|
|
|
|
|
"accept-encoding: gzip, deflate, br", |
|
|
|
|
|
"accept-language: zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7,zh-TW;q=0.6,ja;q=0.5", |
|
|
|
|
|
"cookie: mid=XPJbKwAEAAEjcIilinpyKblsZqyx; fbm_124024574287414=base_domain=.instagram.com; ig_cb=1; ig_did=398CBD62-5C55-40BF-B917-0972BEE47035; csrftoken=7WVPjhWHhNqm2h1wcnslDgdkJJ9Ahqc6; ds_user_id=361404591; sessionid=361404591%3AJSLulZCziyeBSQ%3A5; shbid=13796; shbts=1581407718.4487948; rur=PRN; urlgen=\"{\"2607:fcd0:100:4600::5:d6c0\": 8100}:1j1Qy8:f8y9XAMkFUmNt5rl-hcF2hx9-74\"" |
|
|
|
|
|
), |
|
|
|
|
|
)); |
|
|
|
|
|
|
|
|
|
|
|
$response = curl_exec($curl); |
|
|
|
|
|
|
|
|
|
|
|
curl_close($curl); |
|
|
|
|
|
echo $response; |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private function commonRequest($url, $params) |
|
|
|
|
|
{ |
|
|
|
|
|
$request = new GuzzleClient(); |
|
|
|
|
|
$request-> |
|
|
|
|
|
} |
|
|
} |
|
|
} |