|
|
@ -959,12 +959,14 @@ class InstagramService |
|
|
"real__yami" => 1334305466, |
|
|
"real__yami" => 1334305466, |
|
|
"_2km2km_" => 8419330744, |
|
|
"_2km2km_" => 8419330744, |
|
|
"2km2km" => 1261174072, |
|
|
"2km2km" => 1261174072, |
|
|
"2km_2km_dj2" => 50785456344 |
|
|
|
|
|
|
|
|
"2km_2km_dj2" => 50785456344, |
|
|
|
|
|
"17_chill" => 38054610130 |
|
|
]; |
|
|
]; |
|
|
|
|
|
|
|
|
private $userAliasMap = [ |
|
|
private $userAliasMap = [ |
|
|
"yifei_cc" => "yifeis", |
|
|
"yifei_cc" => "yifeis", |
|
|
"2km2km" => "2km_2km_dj2" |
|
|
|
|
|
|
|
|
"2km2km" => "2km_2km_dj2", |
|
|
|
|
|
"siawase726" => "snow1111726" |
|
|
]; |
|
|
]; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -1524,19 +1526,26 @@ class InstagramService |
|
|
if ($singleUser == null) { |
|
|
if ($singleUser == null) { |
|
|
$len = Redis::connection()->llen(self::INS_USER_KEY); |
|
|
$len = Redis::connection()->llen(self::INS_USER_KEY); |
|
|
$toQueryUsers = []; |
|
|
$toQueryUsers = []; |
|
|
if ($len < 15) { |
|
|
|
|
|
|
|
|
if ($len < 10) { |
|
|
$toQueryUsers = Redis::connection()->lrange(self::INS_USER_KEY, 0, -1); |
|
|
$toQueryUsers = Redis::connection()->lrange(self::INS_USER_KEY, 0, -1); |
|
|
$userList = file("/Users/shixuesen/OneDrive/Pictures/instagram/user.txt"); |
|
|
$userList = file("/Users/shixuesen/OneDrive/Pictures/instagram/user.txt"); |
|
|
shuffle($userList); |
|
|
shuffle($userList); |
|
|
$toQueryUsers = array_merge($toQueryUsers, array_slice($userList, 0, 15 - $len)); |
|
|
|
|
|
|
|
|
$toQueryUsers = array_merge($toQueryUsers, array_slice($userList, 0, 10 - $len)); |
|
|
Redis::connection()->del(self::INS_USER_KEY); |
|
|
Redis::connection()->del(self::INS_USER_KEY); |
|
|
Redis::connection()->lpush(self::INS_USER_KEY, array_slice($userList, 15 - $len)); |
|
|
|
|
|
|
|
|
Redis::connection()->lpush(self::INS_USER_KEY, array_slice($userList, 10 - $len)); |
|
|
} else { |
|
|
} else { |
|
|
$toQueryUsers = Redis::connection()->lrange(self::INS_USER_KEY, 0, 14); |
|
|
|
|
|
Redis::connection()->ltrim(self::INS_USER_KEY, 15, -1); |
|
|
|
|
|
|
|
|
$toQueryUsers = Redis::connection()->lrange(self::INS_USER_KEY, 0, 9); |
|
|
|
|
|
Redis::connection()->ltrim(self::INS_USER_KEY, 10, -1); |
|
|
} |
|
|
} |
|
|
|
|
|
$alwaysNeedToQueryUsers = ["17_chill", "crissielee_", "boram__jj", "cho_hyunyoung", "cxxsomi", "inkyung97", "na0912mi", "naughty_rabbit_", "sejinming", "zyzyxin222"]; |
|
|
|
|
|
$toQueryUsers = array_unique(array_merge($alwaysNeedToQueryUsers, $toQueryUsers)); |
|
|
} else { |
|
|
} else { |
|
|
$toQueryUsers[] = $singleUser; |
|
|
|
|
|
|
|
|
if (is_array($singleUser)) { |
|
|
|
|
|
$toQueryUsers = $singleUser; |
|
|
|
|
|
} else { |
|
|
|
|
|
$toQueryUsers[] = $singleUser; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
// dump($toQueryUsers);exit;
|
|
|
// dump($toQueryUsers);exit;
|
|
|
@ -1551,7 +1560,14 @@ class InstagramService |
|
|
$userList = $toQueryUsers; |
|
|
$userList = $toQueryUsers; |
|
|
// cherry_quahst 2928997722502282551_22834825
|
|
|
// cherry_quahst 2928997722502282551_22834825
|
|
|
// $userList = ["shinapit46"];
|
|
|
// $userList = ["shinapit46"];
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 跳过逻辑
|
|
|
|
|
|
$skipUsers = ["youbastardddd", "bitnara1105", "hanna91914"]; |
|
|
foreach ($userList as $userName) { |
|
|
foreach ($userList as $userName) { |
|
|
|
|
|
if (in_array($userName, $skipUsers)) { |
|
|
|
|
|
continue; |
|
|
|
|
|
} |
|
|
$trueName = trim($userName); |
|
|
$trueName = trim($userName); |
|
|
// echo $trueName;exit;
|
|
|
// echo $trueName;exit;
|
|
|
|
|
|
|
|
|
@ -1559,8 +1575,9 @@ class InstagramService |
|
|
if (!is_dir($thisUserImageDir)) { |
|
|
if (!is_dir($thisUserImageDir)) { |
|
|
mkdir($thisUserImageDir); |
|
|
mkdir($thisUserImageDir); |
|
|
} |
|
|
} |
|
|
shell_exec("open '$thisUserImageDir'"); |
|
|
|
|
|
sleep(120); |
|
|
|
|
|
|
|
|
echo "open $thisUserImageDir \n"; |
|
|
|
|
|
shell_exec("open -g '$thisUserImageDir'"); |
|
|
|
|
|
sleep(5*60); |
|
|
|
|
|
|
|
|
if (array_key_exists($trueName, $this->userAliasMap)) { |
|
|
if (array_key_exists($trueName, $this->userAliasMap)) { |
|
|
$trueName = trim($this->userAliasMap[$trueName]); |
|
|
$trueName = trim($this->userAliasMap[$trueName]); |
|
|
@ -1665,8 +1682,14 @@ class InstagramService |
|
|
// Now we must update the maxId variable to the "next page".
|
|
|
// Now we must update the maxId variable to the "next page".
|
|
|
// This will be a null value again when we've reached the last page!
|
|
|
// This will be a null value again when we've reached the last page!
|
|
|
// And we will stop looping through pages as soon as maxId becomes null.
|
|
|
// And we will stop looping through pages as soon as maxId becomes null.
|
|
|
if ($count > 50 || $existCount > 35) { |
|
|
|
|
|
goto a; |
|
|
|
|
|
|
|
|
if ($singleUser!= null || count($singleUser) > 0) { |
|
|
|
|
|
if ($count - $existCount > 50) { |
|
|
|
|
|
goto a; |
|
|
|
|
|
} |
|
|
|
|
|
} else { |
|
|
|
|
|
if($count > 50 || $existCount > 35) { |
|
|
|
|
|
goto a; |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
$maxId = $response->getNextMaxId(); |
|
|
$maxId = $response->getNextMaxId(); |
|
|
echo "\n new maxId: " . $maxId . "\n"; |
|
|
echo "\n new maxId: " . $maxId . "\n"; |
|
|
@ -2178,24 +2201,24 @@ class InstagramService |
|
|
'accept-language' => 'zh-CN,zh;q=0.9', |
|
|
'accept-language' => 'zh-CN,zh;q=0.9', |
|
|
'cache-control' => 'no-cache', |
|
|
'cache-control' => 'no-cache', |
|
|
'content-type' => 'application/x-www-form-urlencoded', |
|
|
'content-type' => 'application/x-www-form-urlencoded', |
|
|
'cookie' => 'ig_did=1E87B96C-B061-484F-89A8-C76BF8E11C52; ig_nrcb=1; mid=Y0QEJQAEAAGK3xW8v5Uwszo_cBzM; ds_user_id=361404591; datr=qAREY1W0Mocw3OoikuJcsL1c; csrftoken=v6yBDmsy0g1YECElsFCE3yhSEH5h0iTX; shbid="10286\\054361404591\\0541698829334:01f7237b2f25dc74154df5fa305afa632bcf8a27029847371d5f995727a6a4cfabc1744b"; shbts="1667293334\\054361404591\\0541698829334:01f7b67c47f578b30b8274c3e3faafc65992341ba1001863d36027765056c81f4ad6a5d2"; dpr=2; sessionid=361404591%3ACx32PfLg3x3mRk%3A21%3AAYcj233fJuaA9lomoGZfC9GKVMf66y22dRofAgsNSw0; rur="NAO\\054361404591\\0541698976119:01f786bc7b7786db7bff8c498a277f62edc758684992379447f12c369486e3950bda58f5"', |
|
|
|
|
|
|
|
|
'cookie' => 'ig_did=1E87B96C-B061-484F-89A8-C76BF8E11C52; ig_nrcb=1; mid=Y0QEJQAEAAGK3xW8v5Uwszo_cBzM; ds_user_id=361404591; datr=qAREY1W0Mocw3OoikuJcsL1c; csrftoken=uwK4stsVNJf45PtHH7ZEbtYLFAXTED8K; dpr=2; shbid="10286\\054361404591\\0541700533626:01f7891cdfff0b7d7386ff97d7690993a11b1ba2373dc3ffdeffcba117098d64f4257dc4"; shbts="1668997626\\054361404591\\0541700533626:01f7e34e90eef7912e6901f47569b86e7a671dae643782b24cc4988c66ed2da4188f8257"; rur="NAO\\054361404591\\0541700704415:01f7fa81481f33f0a55f1a36f3e32141e4be300b2ef89c6d557f3e8ab513e3638f57478b"; sessionid=361404591%3AgzkcXj7yG935O7%3A24%3AAYcvW4xf8gw3-Dk1esu7poXViU_WJZNOBzm0FC27-Js', |
|
|
'origin' => 'https://www.instagram.com', |
|
|
'origin' => 'https://www.instagram.com', |
|
|
'pragma' => 'no-cache', |
|
|
'pragma' => 'no-cache', |
|
|
'referer' => 'https://www.instagram.com/', |
|
|
'referer' => 'https://www.instagram.com/', |
|
|
'sec-ch-prefers-color-scheme' => 'light', |
|
|
'sec-ch-prefers-color-scheme' => 'light', |
|
|
'sec-ch-ua' => '"Chromium";v="106", "Google Chrome";v="106", "Not;A=Brand";v="99"', |
|
|
|
|
|
|
|
|
'sec-ch-ua' => '"Google Chrome";v="107", "Chromium";v="107", "Not=A?Brand";v="24"', |
|
|
'sec-ch-ua-mobile' => '?0', |
|
|
'sec-ch-ua-mobile' => '?0', |
|
|
'sec-ch-ua-platform' => '"macOS"', |
|
|
'sec-ch-ua-platform' => '"macOS"', |
|
|
'sec-fetch-dest' => 'empty', |
|
|
'sec-fetch-dest' => 'empty', |
|
|
'sec-fetch-mode' => 'cors', |
|
|
'sec-fetch-mode' => 'cors', |
|
|
'sec-fetch-site' => 'same-origin', |
|
|
'sec-fetch-site' => 'same-origin', |
|
|
'user-agent' => 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', |
|
|
|
|
|
|
|
|
'user-agent' => 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36', |
|
|
'viewport-width' => '1512', |
|
|
'viewport-width' => '1512', |
|
|
'x-asbd-id' => '198387', |
|
|
'x-asbd-id' => '198387', |
|
|
'x-csrftoken' => 'v6yBDmsy0g1YECElsFCE3yhSEH5h0iTX', |
|
|
|
|
|
|
|
|
'x-csrftoken' => 'uwK4stsVNJf45PtHH7ZEbtYLFAXTED8K', |
|
|
'x-ig-app-id' => '936619743392459', |
|
|
'x-ig-app-id' => '936619743392459', |
|
|
'x-ig-www-claim' => 'hmac.AR2DN3JP5T1uzerp-Udyl58luFekDMO1MUYZolRys4KAvEKl', |
|
|
|
|
|
'x-instagram-ajax' => '1006523881', |
|
|
|
|
|
|
|
|
'x-ig-www-claim' => 'hmac.AR2DN3JP5T1uzerp-Udyl58luFekDMO1MUYZolRys4KAvCi2', |
|
|
|
|
|
'x-instagram-ajax' => '1006634810', |
|
|
'x-requested-with' => 'XMLHttpRequest' |
|
|
'x-requested-with' => 'XMLHttpRequest' |
|
|
]; |
|
|
]; |
|
|
$options = [ |
|
|
$options = [ |
|
|
@ -2270,23 +2293,23 @@ class InstagramService |
|
|
'accept' => '*/*', |
|
|
'accept' => '*/*', |
|
|
'accept-language' => 'zh-CN,zh;q=0.9', |
|
|
'accept-language' => 'zh-CN,zh;q=0.9', |
|
|
'cache-control' => 'no-cache', |
|
|
'cache-control' => 'no-cache', |
|
|
'cookie' => 'ig_did=1E87B96C-B061-484F-89A8-C76BF8E11C52; ig_nrcb=1; mid=Y0QEJQAEAAGK3xW8v5Uwszo_cBzM; ds_user_id=361404591; datr=qAREY1W0Mocw3OoikuJcsL1c; csrftoken=v6yBDmsy0g1YECElsFCE3yhSEH5h0iTX; shbid="10286\\054361404591\\0541698829334:01f7237b2f25dc74154df5fa305afa632bcf8a27029847371d5f995727a6a4cfabc1744b"; shbts="1667293334\\054361404591\\0541698829334:01f7b67c47f578b30b8274c3e3faafc65992341ba1001863d36027765056c81f4ad6a5d2"; sessionid=361404591%3ACx32PfLg3x3mRk%3A21%3AAYe0yEhzEfyp2jt5A4v-B-QYLaHy96X2w7KdWj4GCkc; dpr=2; rur="NAO\\054361404591\\0541698975782:01f7117c2ee51516e0b7a196b993596df084d840443680e90afd8262e6bb6ad5fd333130"', |
|
|
|
|
|
|
|
|
'cookie' => 'ig_did=1E87B96C-B061-484F-89A8-C76BF8E11C52; ig_nrcb=1; mid=Y0QEJQAEAAGK3xW8v5Uwszo_cBzM; ds_user_id=361404591; datr=qAREY1W0Mocw3OoikuJcsL1c; csrftoken=uwK4stsVNJf45PtHH7ZEbtYLFAXTED8K; dpr=2; shbid="10286\\054361404591\\0541700533626:01f7891cdfff0b7d7386ff97d7690993a11b1ba2373dc3ffdeffcba117098d64f4257dc4"; shbts="1668997626\\054361404591\\0541700533626:01f7e34e90eef7912e6901f47569b86e7a671dae643782b24cc4988c66ed2da4188f8257"; sessionid=361404591%3AgzkcXj7yG935O7%3A24%3AAYcvW4xf8gw3-Dk1esu7poXViU_WJZNOBzm0FC27-Js; rur="NAO\\054361404591\\0541700704504:01f7586cc76975b552e792796e1049675877ef3dfda64d302f090b26aa4186e1cc7984ef"', |
|
|
'pragma' => 'no-cache', |
|
|
'pragma' => 'no-cache', |
|
|
'referer' => 'https://www.instagram.com/mengxinyue2018/', |
|
|
|
|
|
|
|
|
'referer' => 'https://www.instagram.com/17_chill/', |
|
|
'sec-ch-prefers-color-scheme' => 'light', |
|
|
'sec-ch-prefers-color-scheme' => 'light', |
|
|
'sec-ch-ua' => '"Chromium";v="106", "Google Chrome";v="106", "Not;A=Brand";v="99"', |
|
|
|
|
|
|
|
|
'sec-ch-ua' => '"Google Chrome";v="107", "Chromium";v="107", "Not=A?Brand";v="24"', |
|
|
'sec-ch-ua-mobile' => '?0', |
|
|
'sec-ch-ua-mobile' => '?0', |
|
|
'sec-ch-ua-platform' => '"macOS"', |
|
|
'sec-ch-ua-platform' => '"macOS"', |
|
|
'sec-fetch-dest' => 'empty', |
|
|
'sec-fetch-dest' => 'empty', |
|
|
'sec-fetch-mode' => 'cors', |
|
|
'sec-fetch-mode' => 'cors', |
|
|
'sec-fetch-site' => 'same-origin', |
|
|
'sec-fetch-site' => 'same-origin', |
|
|
'user-agent' => 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', |
|
|
|
|
|
|
|
|
'user-agent' => 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36', |
|
|
'viewport-width' => '1512', |
|
|
'viewport-width' => '1512', |
|
|
'x-asbd-id' => '198387', |
|
|
'x-asbd-id' => '198387', |
|
|
'x-csrftoken' => 'v6yBDmsy0g1YECElsFCE3yhSEH5h0iTX', |
|
|
|
|
|
|
|
|
'x-csrftoken' => 'uwK4stsVNJf45PtHH7ZEbtYLFAXTED8K', |
|
|
'x-ig-app-id' => '936619743392459', |
|
|
'x-ig-app-id' => '936619743392459', |
|
|
'x-ig-www-claim' => 'hmac.AR2DN3JP5T1uzerp-Udyl58luFekDMO1MUYZolRys4KAvEKl', |
|
|
|
|
|
'x-instagram-ajax' => '1006523881', |
|
|
|
|
|
|
|
|
'x-ig-www-claim' => 'hmac.AR2DN3JP5T1uzerp-Udyl58luFekDMO1MUYZolRys4KAvCi2', |
|
|
|
|
|
'x-instagram-ajax' => '1006634810', |
|
|
'x-requested-with' => 'XMLHttpRequest' |
|
|
'x-requested-with' => 'XMLHttpRequest' |
|
|
]; |
|
|
]; |
|
|
$url = "https://i.instagram.com/api/v1/feed/user/{$userId}/?count=12"; |
|
|
$url = "https://i.instagram.com/api/v1/feed/user/{$userId}/?count=12"; |
|
|
|