diff --git a/.env.local b/.env.local index 591553d..a6ffad2 100644 --- a/.env.local +++ b/.env.local @@ -20,6 +20,10 @@ QUEUE_CONNECTION=sync SESSION_DRIVER=file SESSION_LIFETIME=120 +OLD_REDIS_HOST=127.0.0.1 +OLD_REDIS_PASSWORD=null +OLD_REDIS_PORT=6379 + REDIS_HOST=127.0.0.1 REDIS_PASSWORD=null REDIS_PORT=6379 diff --git a/.env.local.txy2 b/.env.local.txy2 new file mode 100644 index 0000000..524a1a0 --- /dev/null +++ b/.env.local.txy2 @@ -0,0 +1,64 @@ +APP_NAME=Laravel +APP_ENV=local +APP_KEY=base64:JAnba95lV0iKVC/7lgxU7oH/utPgaOXZ4WBBYExqZd8= +APP_DEBUG=true +APP_URL=https://ins.app + +LOG_CHANNEL=stack + +DB_CONNECTION=mysql +DB_HOST=127.0.0.1 +DB_PORT=3307 +DB_DATABASE=ins +DB_USERNAME=root +DB_PASSWORD=949sxs949 + + +BROADCAST_DRIVER=log +CACHE_DRIVER=array +QUEUE_CONNECTION=sync +SESSION_DRIVER=file +SESSION_LIFETIME=120 + +REDIS_HOST=127.0.0.1 +REDIS_PASSWORD=null +REDIS_PORT=6379 + +TXY4_REDIS_HOST=127.0.0.1 +TXY4_REDIS_PASSWORD=null +TXY4_REDIS_PORT=16379 +TXY4_REDIS_CACHE_DB=0 + +LPT1_REDIS_HOST=127.0.0.1 +LPT1_REDIS_PASSWORD=null +LPT1_REDIS_PORT=26379 +LPT1_REDIS_CACHE_DB=0 + +MAIL_DRIVER=smtp +MAIL_HOST=smtp.mailtrap.io +MAIL_PORT=2525 +MAIL_USERNAME=null +MAIL_PASSWORD=null +MAIL_ENCRYPTION=null + +PUSHER_APP_ID= +PUSHER_APP_KEY= +PUSHER_APP_SECRET= +PUSHER_APP_CLUSTER=mt1 + +MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}" +MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}" + +OAUTH_APP_ID=89b50ce9-fcd4-4d6b-a830-bbfe0fa5703b +OAUTH_APP_PASSWORD=gmwsDOF38_+ycvIDAH885[) +OAUTH_REDIRECT_URI=http://localhost:8000/callback +#OAUTH_SCOPES='openid profile offline_access user.read calendars.read Files.Read.All, Files.ReadWrite.All, Sites.Read.All, Sites.ReadWrite.All' +OAUTH_SCOPES='openid profile offline_access user.read calendars.read' +OAUTH_AUTHORITY=https://login.microsoftonline.com/common +OAUTH_AUTHORIZE_ENDPOINT=/oauth2/v2.0/authorize +OAUTH_TOKEN_ENDPOINT=/oauth2/v2.0/token + +albums_authentication_redirect_url=http://localhost:1234/google/photo/connect + +APP_TIMEZONE='Asia/Singapore' + diff --git a/app/Console/Commands/BiliVideoCode.php b/app/Console/Commands/BiliVideoCode.php index b9731f7..2387214 100644 --- a/app/Console/Commands/BiliVideoCode.php +++ b/app/Console/Commands/BiliVideoCode.php @@ -44,8 +44,9 @@ class BiliVideoCode extends Command { $startPos = $this->argument("startPos"); $limit = $this->argument("limit"); echo "startPos is $startPos"; - $bilibili->queryUpVideoList(10278125, $startPos, $limit); - exit; + $bilibili->queryBiliUpListNew(null, $startPos, $limit);exit; +// $bilibili->queryUpVideoList(10278125, $startPos, $limit); +// exit; $bilibili->downloadDynamics();exit; $browserFactory = new \HeadlessChromium\BrowserFactory(); diff --git a/app/Console/Commands/CommonTest.php b/app/Console/Commands/CommonTest.php index ccb55c7..12a7289 100644 --- a/app/Console/Commands/CommonTest.php +++ b/app/Console/Commands/CommonTest.php @@ -45,14 +45,14 @@ class CommonTest extends Command { // $arr1 = ["1000398462711009", "1000397316040213", "1000397154360946", "1000396023160142", "1000395772280868", "1000395770310607", "1000395764440447", "1000395749580620", "1000395737520585", "1000395728560369", "1000395665220010", "1000395182810260", "1000394432460475", "1000394082540135", "1000393949210659", "1000393948320985", "1000393888830044", "1000393887300041", "1000393885280607", "1000393871140899", "1000393874640278", "1000393855970088", "1000393851410761", "1000393851900113", "1000393224970230", "1000392769900267", "1000392752170065", "1000392399360563", "1000392336010495", "1000391730910775", "1000391657490475", "1000391640370731", "1000391642761007", "1000391642000760", "1000391635890577", "1000391534950041", "1000391634700625", "1000390226671010", "1000390217300827", "1000390196650608", "1000389960200187", "1000389892150216", "1000389873050304", "1000389860050560", "1000389066380090", "1000388971640050", "1000388604110777", "1000386518600752", "1000386387290405", "1000386350990489", "1000385646770495", "1000385647880305", "1000385599900591", "1000384981270190", "1000384610280911", "1000384278210040", "1000384277620018", "1000384247600248", "1000382954660496", "1000382532630959", "1000381279730287", "1000381023770185", "1000380679170566", "1000380672770752", "1000380605780918", "1000380540660479", "1000380533990236", "1000380334400447", "1000379619570140", "1000379614130566", "1000379614040540", "1000379215150342", "1000379091960012", "1000379074410600", "1000378356270974", "1000377413180060", "1000376937170982", "1000376930380927", "1000376796550520", "1000376729180951", "1000376495050278", "1000376488990545", "1000376424360895", "1000376418180325", "1000376355280244", "1000376331720057", "1000376319830884", "1000376289680850", "1000376272300030", "1000376268510358", "1000376264200636", "1000376257300865", "1000376246250787", "1000376254330018", "1000376249100938", "1000376241740589", "1000376243310981", "1000373103330115", "1000373091720141", "1000372327880350", "1000372308880571", "1000371971740555", "1000371974820428", "1000371689930846", "1000371579070071", "1000371563620745", "1000371554570402", "1000371481560879", "1000371475020722", "1000371466340092", "1000371453600533", "1000369063970626", "1000366941120287", "1000366794650511", "1000365341530899", "1000365306821015", "1000365256300575", "1000365228570858", "1000365040240113", "1000365012940938", "1000364956400772", "1000364956320093", "1000363533710154", "1000363307810125", "1000363070700309", "1000362170460175", "1000361917100540", "1000361906230502", "1000360007910474", "1000358747340754", "1000358712490262", "1000357888860566", "1000357425070691", "1000356422140612", "1000356302620386", "1000355737570354", "1000355147140013", "1000354832970013", "1000354400470672", "1000353260280322", "1000351325270526", "1000350815860700", "1000350813490531", "1000350587970769", "1000349348390725", "1000349022010513", "1000349014580575", "1000349013640320", "1000349012450116", "1000348857240827", "1000348818640454", "1000348611290804", "1000348585820675", "1000348588311008", "1000348584690761", "1000347836120187", "1000347617870576", "1000347398090398", "1000347392920992", "1000347387441022", "1000347002640251", "1000346990740282", "1000346413890381", "1000344947980340", "1000344617350545", "1000344188190025", "1000343800140622", "1000343586320054", "1000343478560283", "1000342755320256", "1000342101050886", "1000341761540534", "1000341745850267", "1000341707650664", "1000341649590430", "1000341581200218", "1000340897200429", "1000340225390161", "1000340210240271", "1000340185230923", "1000339820960457", "1000339820620635", "1000339657220642", "1000337908920684", "1000337755340334", "1000337585970778", "1000337573320409", "1000337312630389", "1000337122880852", "1000336602460156", "1000336437950786", "1000336413750819", "1000336355660485", "1000336343370928", "1000336336050974", "1000336166760797", "1000336165240704", "1000336124660853", "1000336092470065", "1000335536671014", "1000335496510188", "1000335499320977", "1000335492530115", "1000334072850532", "1000333783220684", "1000333520980286", "1000333516660727", "1000333427810435", "1000333052870950", "1000333048420924", "1000333042781017", "1000332771920138", "1000332664440816", "1000332653190685", "1000332650070198", "1000332632520675", "1000332616220167", "1000332477820676", "1000332423530625", "1000332336120670", "1000332222510402", "1000332061440784", "1000331975180152", "1000331937040339", "1000331919970321", "1000331897840036", "1000331168740913", "1000330966850836", "1000330828500784", "1000330802650358", "1000330747650108", "1000330723350451", "1000330607101003", "1000330571090106", "1000330563440837", "1000330441080975", "1000330356930957", "1000330131000467", "1000330028860845", "1000329681940301", "1000329660800951", "1000329434560308", "1000328857020065", "1000328748831004", "1000328725400248", "1000328716210870", "1000328714720971", "1000328686190947", "1000328098700915", "1000328098170730", "1000328087760350", "1000327998090127", "1000327763400924", "1000327615610312", "1000327608040816", "1000327453810946", "1000327427980817", "1000327414840120", "1000327407070970", "1000327388480390", "1000327377500428", "1000327365210430", "1000326955760600", "1000326375120864", "1000326216760306", "1000325928750643", "1000325910370888", "1000325745740781", "1000325746820920", "1000325740490009", "1000325727990867", "1000325727690141", "1000325611430403", "1000325610970357", "1000325596850453", "1000325428240341", "1000325172930127", "1000325150400309", "1000325139020730", "1000325135890788", "1000325055760878", "1000324930970035", "1000324920620346", "1000324858590867", "1000324847460664", "1000324806500388", "1000324795110865", "1000324778670927", "1000324774250007", "1000324764620285", "1000324764490086", "1000324758750153", "1000324758200042", "1000324757330842", "1000324742080778", "1000324193430875", "1000323972800352", "1000323935020891", "1000323930320707", "1000323929510070", "1000323929380269", "1000323019800989", "1000323012360777", "1000322709290450", "1000322356850841", "1000322116570089", "1000322117720057", "1000322037960204", "1000321977610883", "1000321957370404", "1000321757820686", "1000321752290496", "1000321745370508", "1000321357910480", "1000321340830008", "1000321105270820", "1000320741420901", "1000320729200334", "1000320037480149", "1000319981251017", "1000319981210441", "1000319599030866", "1000319589220819", "1000319575980604", "1000319569360703", "1000319549330298", "1000319529350747", "1000319423160242", "1000319306580056", "1000319172720472", "1000318965720531", "1000318839880424", "1000318833450317", "1000318738110263", "1000318680230168", "1000317948180361", "1000317873320642", "1000317774980950", "1000317346160658", "1000317185540243", "1000317171490612", "1000317173870624", "1000317172290373", "1000317080480791", "1000316974680096", "1000316899380256", "1000316866680714", "1000316497340862", "1000316070060650", "1000316029910058", "1000316008100945", "1000316012320482", "1000316004200271", "1000316003710486", "1000315998070788", "1000316001850467", "1000315997120100", "1000315994830218", "1000315559390978", "1000315557560742", "1000314011560407", "1000314012370436", "1000313900600214", "1000313848920798", "1000313820910583", "1000313765520910", "1000313653940800", "1000313645470777", "1000313312840115", "1000312804210130", "1000312804190130", "1000312756080480", "1000312677620482", "1000312644980847", "1000312537240130", "1000312529570990", "1000312501620040", "1000312317880890", "1000312176430762", "1000312168820522", "1000312149570004", "1000312152670606", "1000312139470607", "1000312131180297", "1000311806950954", "1000311733420586", "1000311526460136", "1000311396590979", "1000311396860732", "1000311387180790", "1000311386070687", "1000311385660769", "1000311205250538", "1000311202560165", "1000311047430594", "1000310846480244", "1000310699560253", "1000310465770313", "1000310455180503", "1000310454140525", "1000310450300556", "1000310444480098", "1000310287770046", "1000310219810246", "1000308853781000", "1000308774260863", "1000308741520705", "1000308701090931", "1000308699860426", "1000308673520628", "1000308662840613", "1000308603400259", "1000307552060092", "1000307189010337", "1000307138370342", "1000307072360525", "1000307057210066", "1000306987910164", "1000306986350443", "1000306979120002"]; // $arr2 = ["1000306979120002", "1000306986350443", "1000306987910164", "1000307057210066", "1000307138370342", "1000307189010337", "1000307552060092", "1000308662840613", "1000308673520628", "1000308699860426", "1000308701090931", "1000308741520705", "1000308774260863", "1000308853781000", "1000310450300556", "1000310455180503", "1000310465770313", "1000310699560253", "1000310846480244", "1000311047430594", "1000311202560165", "1000311205250538", "1000311386070687", "1000311387180790", "1000311396860732", "1000311396590979", "1000311733420586", "1000311806950954", "1000312131180297", "1000312152670606", "1000312149570004", "1000312168820522", "1000312176430762", "1000312501620040", "1000312529570990", "1000312537240130", "1000312644980847", "1000312756080480", "1000312804190130", "1000313312840115", "1000313645470777", "1000313765520910", "1000313820910583", "1000313848920798", "1000313900600214", "1000314012370436", "1000314011560407", "1000315557560742", "1000315559390978", "1000315997120100", "1000316001850467", "1000315998070788", "1000316003710486", "1000316004200271", "1000316012320482", "1000316029910058", "1000316497340862", "1000316866680714", "1000316899380256", "1000316974680096", "1000317080480791", "1000317172290373", "1000317173870624", "1000317171490612", "1000317185540243", "1000317346160658", "1000317774980950", "1000317873320642", "1000317948180361", "1000318680230168", "1000318833450317", "1000318839880424", "1000318965720531", "1000319172720472", "1000319306580056", "1000319423160242", "1000319529350747", "1000319549330298", "1000319569360703", "1000319575980604", "1000319589220819", "1000319599030866", "1000319981210441", "1000320729200334", "1000320741420901", "1000321105270820", "1000321340830008", "1000321745370508", "1000321752290496", "1000321757820686", "1000321957370404", "1000322037960204", "1000322117720057", "1000322356850841", "1000323012360777", "1000323019800989", "1000323929380269", "1000323929510070", "1000323930320707", "1000323935020891", "1000323972800352", "1000324742080778", "1000324757330842", "1000324758200042", "1000324758750153", "1000324764490086", "1000324764620285", "1000324774250007", "1000324778670927", "1000324795110865", "1000324806500388", "1000324858590867", "1000324930970035", "1000325055760878", "1000325139020730", "1000325172930127", "1000325596850453", "1000325610970357", "1000325727690141", "1000325727990867", "1000325740490009", "1000325746820920", "1000325745740781", "1000325910370888", "1000325928750643", "1000326216760306", "1000326375120864", "1000326955760600", "1000327365210430", "1000327377500428", "1000327388480390", "1000327407070970", "1000327414840120", "1000327427980817", "1000327453810946", "1000327608040816", "1000327615610312", "1000327763400924", "1000327998090127", "1000328087760350", "1000328098700915", "1000328686190947", "1000328716210870", "1000328725400248", "1000328748831004", "1000328857020065", "1000329434560308", "1000330028860845", "1000330131000467", "1000330356930957", "1000330441080975", "1000330563440837", "1000330607101003", "1000330747650108", "1000330802650358", "1000330828500784", "1000330966850836", "1000331168740913", "1000331897840036", "1000331937040339", "1000332061440784", "1000332222510402", "1000332477820676", "1000332616220167", "1000332632520675", "1000332650070198", "1000332653190685", "1000332664440816", "1000332771920138", "1000333042781017", "1000333048420924", "1000333052870950", "1000333427810435", "1000333516660727", "1000333520980286", "1000333783220684", "1000334072850532", "1000335492530115", "1000335499320977", "1000335496510188", "1000335536671014", "1000336092470065", "1000336124660853", "1000336165240704", "1000336336050974", "1000336343370928", "1000336413750819", "1000336437950786", "1000336602460156", "1000337122880852", "1000337312630389", "1000337585970778", "1000337908920684", "1000339657220642", "1000339820620635", "1000339820960457", "1000340185230923", "1000340210240271", "1000340225390161", "1000340897200429", "1000341581200218", "1000341649590430", "1000341707650664", "1000341745850267", "1000341761540534", "1000342101050886", "1000342755320256", "1000343478560283", "1000343586320054", "1000343800140622", "1000344617350545", "1000344947980340", "1000346413890381", "1000346990740282", "1000347002640251", "1000347387441022", "1000347392920992", "1000347398090398", "1000347617870576", "1000347836120187", "1000348584690761", "1000348588311008", "1000348585820675", "1000348611290804", "1000348818640454", "1000348857240827", "1000349012450116", "1000349013640320", "1000349014580575", "1000349022010513", "1000349348390725", "1000350587970769", "1000350813490531", "1000350815860700", "1000351325270526", "1000353260280322", "1000354832970013", "1000355737570354", "1000356302620386", "1000356422140612", "1000357425070691", "1000357888860566", "1000358712490262", "1000358747340754", "1000360007910474", "1000361906230502", "1000361917100540", "1000362170460175", "1000363070700309", "1000363307810125", "1000363533710154", "1000364956320093", "1000364956400772", "1000365012940938", "1000365040240113", "1000365228570858", "1000365256300575", "1000365306821015", "1000365341530899", "1000366794650511", "1000366941120287", "1000369063970626", "1000371453600533", "1000371466340092", "1000371475020722", "1000371481560879", "1000371554570402", "1000371563620745", "1000371579070071", "1000371689930846", "1000371974820428", "1000371971740555", "1000372308880571", "1000372327880350", "1000373091720141", "1000373103330115", "1000376243310981", "1000376241740589", "1000376249100938", "1000376254330018", "1000376246250787", "1000376257300865", "1000376264200636", "1000376268510358", "1000376272300030", "1000376289680850", "1000376319830884", "1000376355280244", "1000376418180325", "1000376488990545", "1000376495050278", "1000376729180951", "1000376796550520", "1000376930380927", "1000376937170982", "1000377413180060", "1000378356270974", "1000379074410600", "1000379091960012", "1000379215150342", "1000379614040540", "1000379614130566", "1000379619570140", "1000380533990236", "1000380540660479", "1000380605780918", "1000380672770752", "1000381023770185", "1000381279730287", "1000382532630959", "1000382954660496", "1000384247600248", "1000384277620018", "1000384278210040", "1000384610280911", "1000384981270190", "1000385599900591", "1000385647880305", "1000385646770495", "1000386350990489", "1000386387290405", "1000386518600752", "1000388604110777", "1000388971640050", "1000389066380090", "1000389860050560", "1000389892150216", "1000389960200187", "1000390217300827", "1000390226671010", "1000391534950041", "1000391635890577", "1000391642000760", "1000391642761007", "1000391640370731", "1000391657490475", "1000391730910775", "1000392336010495", "1000392399360563", "1000392752170065", "1000392769900267", "1000393224970230", "1000393851900113", "1000393851410761", "1000393855970088", "1000393874640278", "1000393871140899", "1000393885280607", "1000393887300041", "1000393888830044", "1000393948320985", "1000393949210659", "1000394082540135", "1000394432460475", "1000395182810260", "1000395665220010", "1000395728560369", "1000395737520585", "1000395749580620", "1000395770310607", "1000395772280868", "1000396023160142", "1000397154360946", "1000397316040213"]; // dump(json_encode(array_values(array_diff($arr1, $arr2))));exit; - $path = $this->argument("path"); - $file_hash = sha1_file($path); - $record = new EncodeRecord(); - $record->file_hash_sha = $file_hash; - $fileInfo = pathinfo($path); - $record->file_path = $fileInfo["dirname"]; - $record->file_name = $fileInfo["basename"]; - $record->save();exit; +// $path = $this->argument("path"); +// $file_hash = sha1_file($path); +// $record = new EncodeRecord(); +// $record->file_hash_sha = $file_hash; +// $fileInfo = pathinfo($path); +// $record->file_path = $fileInfo["dirname"]; +// $record->file_name = $fileInfo["basename"]; +// $record->save();exit; $fileService = new FileService(); $fileService->compareLocalFilesAndGooglePhotoFiles();exit; // echo App::environment();exit; diff --git a/app/Console/Commands/FfmpegCommand.php b/app/Console/Commands/FfmpegCommand.php index 3e3a599..fe9dd66 100644 --- a/app/Console/Commands/FfmpegCommand.php +++ b/app/Console/Commands/FfmpegCommand.php @@ -61,6 +61,13 @@ class FfmpegCommand extends Command $service->setNeedRemoveExistFiles(true); } $service->setPreset(trim($preset)); - $service->processDir(trim($path));exit; + while (1) { + $service->processDir(trim($path)); + if (Redis::connection()->get("stopFlag") != null) { + break; + } + sleep(100); + } + exit; } } diff --git a/app/Console/Commands/RenameTest.php b/app/Console/Commands/RenameTest.php index dbcbfdf..136be1d 100644 --- a/app/Console/Commands/RenameTest.php +++ b/app/Console/Commands/RenameTest.php @@ -43,7 +43,7 @@ class RenameTest extends Command { $rename = new RenameService(); $rename->setNameLevel(intval($level)); // renameFileReplaceUseUpperFolderName($path, "_MetArt");exit; - $this->renameContainSymbol($path);exit; + // $this->renameContainSymbol($path);exit; // $rename->rename($path, $prefix); // $arr[0] = 1640486381; @@ -55,9 +55,9 @@ class RenameTest extends Command { // $rename->rename($path, $prefix); // recursiveProcessFirstLevelDirectory($path);exit; // processFirstLevelDirectory($path);exit; - $rename->splitCustomSizeOfFolder($path, $prefix, 500, 91); + $rename->splitCustomSizeOfFolder($path, $prefix, 500, 100); exit; - // $rename->rename("/Volumes/WD/tmp/写真图/猫九", "猫九-"); + $rename->rename("/Volumes/desktop-5rv69tq/bimilStory/", "BimilStory-"); return; $rename->rename("/Volumes/Backup/images/写真/pcBack/3/", ""); @@ -95,18 +95,18 @@ class RenameTest extends Command { public function renameContainSymbol($path, $symbol = '?') { $symbol = "\u{FF1F}"; // $symbol = "?"; -// echo $symbol;exit; + // echo $symbol;exit; // $file1 = "请问,这是长胖了吗?--u0bqNwYlvogx089LkDLwLK010412007dnt0E010.mp4"; // echo strpos($file1, $symbol);exit; $files = scandir($path); foreach ($files as $file) { // echo $file . "\n"; if (strpos($file, $symbol)) { - $newFileNames = explode($symbol, $file); + $newFileNames = explode($symbol, $file); // dump($newFileNames);exit; $newFileName = implode("", $newFileNames); echo "now rename {$file} to " . $newFileName . "\n"; - echo "result is " . rename($path . DIRECTORY_SEPARATOR . $file, $path . DIRECTORY_SEPARATOR . $newFileName); + echo "result is " . rename($path . DIRECTORY_SEPARATOR . $file, $path . DIRECTORY_SEPARATOR . $newFileName); } } } diff --git a/app/Console/Commands/TestCommand.php b/app/Console/Commands/TestCommand.php index ac9ab6b..0cbbd15 100644 --- a/app/Console/Commands/TestCommand.php +++ b/app/Console/Commands/TestCommand.php @@ -44,7 +44,7 @@ class TestCommand extends Command { public function handle() { // $this->sqlGenerate();exit; // $this->test11();exit; - // $this->test10();exit; +// $this->test10();exit; // $this->test09();exit; // $this->test08();exit; @@ -248,8 +248,9 @@ class TestCommand extends Command { // $baseDir = "/Volumes/Xcode/"; // $baseDir = "/Volumes/Crucial X6/就是阿朱啊/就是阿朱啊-5"; // $dirs = ["阿朱_2010"]; - $baseDir = "/Users/shixuesen/Documents/otherSync/very/"; - $dirs = ["QQ_Pic6"]; +// $baseDir = "/Volumes/desktop-5rv69tq/very"; + $baseDir = "/Volumes/T7/sync/"; + $dirs = ["weibop__1207"]; // $f1 = "._{CCE5795D-9D78-5CF9-64C4-F170BD9A943E}(1).jpg"; // echo starts_with($f1, "._");exit; diff --git a/app/Console/Kernel.php b/app/Console/Kernel.php index dcbd8ce..4f2cf8d 100644 --- a/app/Console/Kernel.php +++ b/app/Console/Kernel.php @@ -2,152 +2,130 @@ namespace App\Console; -use App\Services\BilibiliService; -use App\Services\BilibiliServiceV2; -use App\Services\CompressImageService; -use App\Services\DailySignService; -use App\Services\NewNvshenService; -use App\Services\NewXiuGirlsService; -use App\Services\TujiguService; use App\Services\WeiboService; -use App\Services\XiuGirlsService; -use App\Services\VitabioticsService; -use App\Services\YouKnowService; -use App\Repositories\BilibiliVideoRepository; use Illuminate\Console\Scheduling\Schedule; use Illuminate\Foundation\Console\Kernel as ConsoleKernel; -use App\Services\InstagramService; -use Illuminate\Support\Facades\Log; use Illuminate\Support\Facades\App; -use Illuminate\Support\Facades\Redis; date_default_timezone_set('PRC'); -class Kernel extends ConsoleKernel -{ - /** - * The Artisan commands provided by your application. - * - * @var array - */ - protected $commands = [ - // - ]; - - /** - * Define the application's command schedule. - * - * @param \Illuminate\Console\Scheduling\Schedule $schedule - * @return void - */ - protected function schedule(Schedule $schedule) - { - $schedule->call(function () { +class Kernel extends ConsoleKernel { + /** + * The Artisan commands provided by your application. + * + * @var array + */ + protected $commands = [ + // + ]; + + /** + * Define the application's command schedule. + * + * @param \Illuminate\Console\Scheduling\Schedule $schedule + * @return void + */ + protected function schedule(Schedule $schedule) { + $schedule->call(function () { // $bilibili = new BilibiliServiceV2(new BilibiliVideoRepository(App::getFacadeApplication())); -// Log::info("schedule queryUpVideoList started at: ". date("Y-m-d H:i:s")); -// $bilibili->queryUpVideoList(); - })->dailyAt("14:50"); - $schedule->call(function () { + // Log::info("schedule queryUpVideoList started at: ". date("Y-m-d H:i:s")); + // $bilibili->queryUpVideoList(); + })->dailyAt("14:50"); + $schedule->call(function () { // $bilibili = new BilibiliServiceV2(new BilibiliVideoRepository(App::getFacadeApplication())); -// Log::info("schedule queryDBCollectionList started at: ". date("Y-m-d H:i:s")); -// $bilibili->queryDBCollectionList(); - })->dailyAt("14:55"); + // Log::info("schedule queryDBCollectionList started at: ". date("Y-m-d H:i:s")); + // $bilibili->queryDBCollectionList(); + })->dailyAt("14:55"); // })->yearly(); - $schedule->call(function () { + $schedule->call(function () { // $bilibili = new BilibiliServiceV2(new BilibiliVideoRepository(App::getFacadeApplication())); -// Log::info("schedule queryForVideoParts started at: ". date("Y-m-d H:i:s")); -// $bilibili->queryForVideoParts(); - })->dailyAt("15:20"); - $schedule->call(function () { + // Log::info("schedule queryForVideoParts started at: ". date("Y-m-d H:i:s")); + // $bilibili->queryForVideoParts(); + })->dailyAt("15:20"); + $schedule->call(function () { // $bilibili = new BilibiliServiceV2(new BilibiliVideoRepository(App::getFacadeApplication())); -// Log::info("schedule queryForVideoParts started at: ". date("Y-m-d H:i:s")); -// $bilibili->queryForVideoParts(); - $weibo = new WeiboService(); - $weibo->moveLastDayCount(); - Redis::connection()->set("stopFlag", "1"); -// Log::info("========================= echo here ====================="); - })->dailyAt("03:50"); - + // Log::info("schedule queryForVideoParts started at: ". date("Y-m-d H:i:s")); + // $bilibili->queryForVideoParts(); + $weibo = new WeiboService(); + $weibo->moveLastDayCount(); + // Redis::connection()->set("stopFlag", "1"); + // Log::info("========================= echo here ====================="); + })->dailyAt("03:50"); // $schedule->call(function () { -// echo "======================================================\n"; -// echo "=======================". date("Y-m-d H:i:s") ."=========================\n"; -// echo "======================================================\n"; -// $service = new InstagramService(); - // $service->scrapeLikedUsers(); -// $service->scrapeUsers(); - - // $service = new VitabioticsService(); - // $service->testPromoCode(); + // echo "======================================================\n"; + // echo "=======================". date("Y-m-d H:i:s") ."=========================\n"; + // echo "======================================================\n"; + // $service = new InstagramService(); + // $service->scrapeLikedUsers(); + // $service->scrapeUsers(); - // $service->scrapeUsers(); - // $service->scanLocalFiles(); + // $service = new VitabioticsService(); + // $service->testPromoCode(); + // $service->scrapeUsers(); + // $service->scanLocalFiles(); - // $xiuService = new XiuGirlsService(); - // $xiuService->scrapeXiuGirls(); + // $xiuService = new XiuGirlsService(); + // $xiuService->scrapeXiuGirls(); - // $bilibili = new BilibiliService(); - // $bilibili->queryUpVideoList(); + // $bilibili = new BilibiliService(); + // $bilibili->queryUpVideoList(); - // $bilibili->queryPlayList(); - // $bilibili->downloadBSitePlaylist("av75454867 av75207675 av75065073 av74866823 av74764675 av74648540"); - // $bilibili->deleteFileNotContainP(); + // $bilibili->queryPlayList(); + // $bilibili->downloadBSitePlaylist("av75454867 av75207675 av75065073 av74866823 av74764675 av74648540"); + // $bilibili->deleteFileNotContainP(); - // $youService = new YouKnowService(); - // $youService->scrape1024(); + // $youService = new YouKnowService(); + // $youService->scrape1024(); - - // $compressService = new CompressImageService(); - // $compressService->compressImage(); -// echo "111"; -// })->everyMinute(); -// })->dailyAt("00:10"); + // $compressService = new CompressImageService(); + // $compressService->compressImage(); + // echo "111"; + // })->everyMinute(); + // })->dailyAt("00:10"); // $schedule->call(function () { -// $service = new InstagramService(); -// $service->scrapeLikedUsers(); -// })->everyMinute(); -// })->dailyAt('02:00'); + // $service = new InstagramService(); + // $service->scrapeLikedUsers(); + // })->everyMinute(); + // })->dailyAt('02:00'); // $schedule->call(function () { -// $xiuService = new NewXiuGirlsService(); -// $xiuService->scrapeXiuGirls(); -// })->everyMinute(); -// })->dailyAt('05:00'); -// $schedule->call(function () { -// if (App::environment() == "local") { -// $nvshenService = new NewNvshenService(); -// $nvshenService->scrapeNvshenGirls(); -// } -// })->cron("0 */3 * * *"); -// })->dailyAt('05:00'); -// $schedule->call(function () { -// if (App::environment() == "local") { -// $tuji = new TujiguService(); -// $tuji->scrapeTujiguGirls(); -// } -// })->cron("30 */3 * * *"); -// })->dailyAt('04:00'); -// $schedule->call(function () { -// $dailySignService = new DailySignService(); -// $dailySignService->signClubHmoe(); -// })->dailyAt('04:00'); - - + // $xiuService = new NewXiuGirlsService(); + // $xiuService->scrapeXiuGirls(); + // })->everyMinute(); + // })->dailyAt('05:00'); + // $schedule->call(function () { + // if (App::environment() == "local") { + // $nvshenService = new NewNvshenService(); + // $nvshenService->scrapeNvshenGirls(); + // } + // })->cron("0 */3 * * *"); + // })->dailyAt('05:00'); + // $schedule->call(function () { + // if (App::environment() == "local") { + // $tuji = new TujiguService(); + // $tuji->scrapeTujiguGirls(); + // } + // })->cron("30 */3 * * *"); + // })->dailyAt('04:00'); + // $schedule->call(function () { + // $dailySignService = new DailySignService(); + // $dailySignService->signClubHmoe(); + // })->dailyAt('04:00'); // $schedule->command("vitabiotics") - } - - /** - * Register the commands for the application. - * - * @return void - */ - protected function commands() - { - $this->load(__DIR__.'/Commands'); - - require base_path('routes/console.php'); - } + } + + /** + * Register the commands for the application. + * + * @return void + */ + protected function commands() { + $this->load(__DIR__ . '/Commands'); + + require base_path('routes/console.php'); + } } diff --git a/app/Http/Controllers/GooglePhotoController.php b/app/Http/Controllers/GooglePhotoController.php index 57c7707..cf707d4 100644 --- a/app/Http/Controllers/GooglePhotoController.php +++ b/app/Http/Controllers/GooglePhotoController.php @@ -13,6 +13,7 @@ use Throwable; class GooglePhotoController extends Controller { public function connect(Request $request) { + Log::info("enter google connect here"); return connectWithGooglePhotos($request, ['https://www.googleapis.com/auth/photoslibrary'], config('app.albums_authentication_redirect_url') @@ -30,10 +31,10 @@ class GooglePhotoController extends Controller { * $photosLibraryClient = new PhotosLibraryClient(['credentials' => $credentials]); * $this->queryImageListInAlbum($photosLibraryClient, "AN5jk25bCDMrPpxQC3MFfOfj07IAqoCbf_N41lpljEbDPe2pxRV4gN28nsW8uuVDBEjXTWlOPTl_");exit; */ - + Log::info("google photo enter index =================================="); $photosLibraryClient = new PhotosLibraryClient(['credentials' => $credentials]); - // $this->queryAlbumsList($photosLibraryClient);exit; - $this->queryImageListInAlbum($photosLibraryClient, "AN5jk2743JHQKyWVsf39VJN5tHtbf02yPcl0cxiRjGGjVvKpmCNAU8vrpkPrhNvNg3c96LlN0g-3");exit; +// $this->queryAlbumsList($photosLibraryClient);exit; + $this->queryImageListInAlbum($photosLibraryClient, "AN5jk26RaR7aT-w7bcnmd9Wj3Fhsd_JeZndUMPb9AfBlxoAeBU4MRC980bZFfAzuNSNTDhhRx5Kk");exit; $service = new GooglePhotoSyncService(); // $service->getAuthToken("4/0AX4XfWj_bDRqhnNLf4MGTMCAwt52Q4v6Dz1CLe1sx8I__Qu41z0fhX87I-amFAwpDGY0jA", ['https://www.googleapis.com/auth/photoslibrary'], config('app.albums_authentication_redirect_url')); diff --git a/app/Http/Controllers/WeiboController.php b/app/Http/Controllers/WeiboController.php index ebc95fb..74705f7 100644 --- a/app/Http/Controllers/WeiboController.php +++ b/app/Http/Controllers/WeiboController.php @@ -59,11 +59,18 @@ class WeiboController extends Controller { // for ($i = 100; $i >= 1; $i--) { // $url[] = 'https://m.weibo.cn/feed/group?gid=4423532052076817&&page=' . $i; // } - foreach ($list as $key => $value) { - for ($i = $size; $i >= 1; $i--) { - $url[] = "https://m.weibo.cn/api/container/getIndex?containerid=$value&page=" . $i; - } - } +// foreach ($list as $key => $value) { +// for ($i = $size; $i >= 1; $i--) { +// $url[] = "https://m.weibo.cn/api/container/getIndex?containerid=$value&page=" . $i; +// } +// } + foreach ($list as $value) { + for ($i = 1; $i <= $size; $i ++) { + $url[] = "https://m.weibo.cn/api/container/getIndex?containerid=$value&page=" . $i; + } + + } + // for ($i = $size; $i >= 1; $i--) { // $url[] = 'https://m.weibo.cn/api/container/getIndex?containerid=230259&page=' . $i; // } diff --git a/app/Services/BilibiliServiceV2.php b/app/Services/BilibiliServiceV2.php index 317a70b..44eabb7 100644 --- a/app/Services/BilibiliServiceV2.php +++ b/app/Services/BilibiliServiceV2.php @@ -36,18 +36,16 @@ class BilibiliServiceV2 { // private $remoteDir = "/data/"; private $remoteDir = "/Volumes/Crucial X6/Video/"; - // 是否只根据视频数量,不尝试抓取第一页 - private $skipFirstPage = true; + // 是否只根据视频数量,不尝试抓取第一页 + private $skipFirstPage = true; - public function isSkipFirstPage(): bool - { - return $this->skipFirstPage; - } + public function isSkipFirstPage(): bool { + return $this->skipFirstPage; + } - public function setSkipFirstPage(bool $skipFirstPage): void - { - $this->skipFirstPage = $skipFirstPage; - } + public function setSkipFirstPage(bool $skipFirstPage): void { + $this->skipFirstPage = $skipFirstPage; + } private $mixinKeyEncTab = [ 46, 47, 18, 2, 53, 8, 23, 32, 15, 50, 10, 31, 58, 3, 45, 35, 27, 43, 5, 49, @@ -133,17 +131,18 @@ class BilibiliServiceV2 { foreach ($list as $key => $item) { Log::info("schedule queryUpVideoList current up is {$item['up_name']}, started at: " . date("Y-m-d H:i:s")); // $files = scandir($this->baseDir . "bilibili/" . $item['up_name']); - $todayCount = $this->queryUpVideoTotalWithCache($item["mid"]); - if ($todayCount <= $item["count"]) { - Log::info("today new count is {$todayCount} is same or smaller than {$item["count"]} skip"); - continue; - } +// $todayCount = $this->queryUpVideoTotalWithCache($item["mid"]); + $todayCount = 1000; + if ($todayCount <= $item["count"]) { + Log::info("today new count is {$todayCount} is same or smaller than {$item["count"]} skip"); + continue; + } $mediaId = $item['mid']; $videos = []; $pageNo = 1; $url = "https://api.bilibili.com/x/space/wbi/arc/search?mid={$mediaId}&ps=30&tid=0&keyword=&pn="; - $pageAll = ceil(($todayCount - $item["count"])/30); + $pageAll = ceil(($todayCount - $item["count"]) / 30); // if ($mediaId == 241804522 || $mediaId == 3461581333596856) { // $pageAll = 10; // } @@ -163,15 +162,24 @@ class BilibiliServiceV2 { // https://space.bilibili.com/475250/video for ($i = 1; $i <= $pageAll; $i++) { $curl = curl_init(); - $b_nut = time(); - $dmImgStr = str_replace("==", "", base64_encode($this->randFloat())) ; - $dmImgStr = "V2ViR0wgMS4wIChPcGVuR0wgRVMgMi4wIENocm9taXVtKQ"; - $dmCoverImgStr = str_replace("==", "", base64_encode($this->randFloat())) ; - $dmCoverImgStr = "QU5HTEUgKEludGVsIEluYy4sIEludGVsKFIpIElyaXMoVE0pIFBsdXMgR3JhcGhpY3MgNjU1LCBPcGVuR0wgNC4xKUdvb2dsZSBJbmMuIChJbnRlbCBJbmMuKQ"; + $b_nut = time(); + $dmImgStr = str_replace("==", "", base64_encode($this->randFloat())); + $dmImgStr = "V2ViR0wgMS4wIChPcGVuR0wgRVMgMi4wIENocm9taXVtKQ"; + $dmCoverImgStr = str_replace("==", "", base64_encode($this->randFloat())); + $dmCoverImgStr = "QU5HTEUgKEludGVsIEluYy4sIEludGVsKFIpIElyaXMoVE0pIFBsdXMgR3JhcGhpY3MgNjU1LCBPcGVuR0wgNC4xKUdvb2dsZSBJbmMuIChJbnRlbCBJbmMuKQ"; // echo $dmImgStr . "\n"; -// echo $dmCoverImgStr . "\n";exit; - $encrypt_string = "dm_cover_img_str={$dmCoverImgStr}&dm_img_list=%5B%5D&dm_img_str={$dmImgStr}&keyword=&mid={$mediaId}&order=pubdate&order_avoided=true&platform=web&pn={$i}&ps=30&tid=&web_location="; - $query = $this->build_params($encrypt_string); + // echo $dmCoverImgStr . "\n";exit; + + $dm_rand = 'ABCDEFGHIJK'; + $dm_img_list = '[]'; + $dm_img_str = $this->GetRandStr(2); + $dm_cover_img_str = $this->GetRandStr(2); + + $dm_img_inter = "{\"ds\":[],\"wh\":[0,0,0],\"of\":[0,0,0]}"; + $w_webid = $this->getWebId(); + $encrypt_string = "dm_img_list={$dm_img_list}&dm_img_str={$dm_img_str}&dm_cover_img_str={$dm_cover_img_str}&dm_img_inter=" . $dm_img_inter . "&w_webid={$w_webid}&keyword=&mid={$mediaId}&order=pubdate&order_avoided=true&platform=web&pn={$i}&ps=30&tid=&web_location="; + $query = $this->build_params($encrypt_string); +// dump($query);exit; $params = [ "mid" => $mediaId, @@ -183,57 +191,58 @@ class BilibiliServiceV2 { "web_location" => 1550101, "order_avoided" => 'true', "pn" => $i, - "dm_img_list" => [], - "dm_img_str" => $dmImgStr, - "dm_cover_img_str" => $dmCoverImgStr, + "dm_img_list" => [], + "dm_img_str" => $dmImgStr, + "dm_cover_img_str" => $dmCoverImgStr, ]; // $query = $this->build_params($params); -// echo $query;exit; -// $opts = array('http' => array('header' => '"User-Agent": "Mozilla/5.0"\r\n "origin": "https://space.bilibili.com\r\n "accept-language":"en,zh-CN;q=0.9,zh;q=0.8"\r\n')); + // echo $query;exit; + // $opts = array('http' => array('header' => '"User-Agent": "Mozilla/5.0"\r\n "origin": "https://space.bilibili.com\r\n "accept-language":"en,zh-CN;q=0.9,zh;q=0.8"\r\n')); // $ctx = stream_context_create($opts); -// echo file_get_contents("https://api.bilibili.com/x/space/wbi/arc/search?" . $query["new"], false, $ctx); -// exit; - $url = "https://api.bilibili.com/x/space/wbi/arc/search?" . $query["new"]; - $header[] = "Accept: */*"; - $header[] = "Accept-Language: en-US,en;q=0.9,zh-CN;q=0.8,zh;q=0.7"; - $header[] = "Connection: close"; - $header[] = "Cache-Control: max-age=0"; - curl_setopt_array($curl, [ - CURLOPT_HTTPGET => 1, - CURLOPT_CUSTOMREQUEST => 'GET', - CURLOPT_RETURNTRANSFER => 1, - CURLOPT_HTTPHEADER => $header, - CURLOPT_ENCODING => '', - CURLOPT_URL => $url, - CURLOPT_USERAGENT => 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.63 Safari/537.36 Edg/102.0.1245.39', - CURLOPT_TIMEOUT => 15 - ]); + // echo file_get_contents("https://api.bilibili.com/x/space/wbi/arc/search?" . $query["new"], false, $ctx); + // exit; + $url = "https://api.bilibili.com/x/space/wbi/arc/search?" . $query["new"]; + $header[] = "Accept: */*"; + $header[] = "Accept-Language: en-US,en;q=0.9,zh-CN;q=0.8,zh;q=0.7"; + $header[] = "Connection: close"; + $header[] = "Cache-Control: max-age=0"; +// $header[] = "Cookie: buvid3=F1D75200-6E4F-58D2-E1FA-7DE70663401985249infoc; b_nut=1706932685; buvid4=A11F8D72-D362-0ECD-5199-D0E4F52EE6F285597-024020303-jL3QxKOpdP9YTu%2BHyZaEIQ%3D%3D; _uuid=449728D2-B68B-1026D-DBB2-A1BEDCC6866585496infoc; buvid_fp=0be21f013c19ab3635b096b34a8a20fd; bili_ticket=eyJhbGciOiJIUzI1NiIsImtpZCI6InMwMyIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MDcxOTE4ODYsImlhdCI6MTcwNjkzMjYyNiwicGx0IjotMX0.KdU9NjwlEAoUr2VXRehVM4omOfSN1Wh9KPn0Cp_Fhtw; bili_ticket_expires=1707191826; b_lsid=6F6684EC_18D6EBB74D7; PVID=1"; + curl_setopt_array($curl, [ + CURLOPT_HTTPGET => 1, + CURLOPT_CUSTOMREQUEST => 'GET', + CURLOPT_RETURNTRANSFER => 1, + CURLOPT_HTTPHEADER => $header, + CURLOPT_ENCODING => '', + CURLOPT_URL => $url, + CURLOPT_USERAGENT => 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36', + CURLOPT_TIMEOUT => 15, + ]); // curl_setopt_array($curl, array( -// CURLOPT_URL => "https://api.bilibili.com/x/space/wbi/arc/search?" . $query["new"], -// CURLOPT_RETURNTRANSFER => true, -//// CURLOPT_ENCODING => '', -//// CURLOPT_MAXREDIRS => 10, -//// CURLOPT_TIMEOUT => 10, -//// CURLOPT_FOLLOWLOCATION => true, -//// CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, -// CURLOPT_CUSTOMREQUEST => 'GET', -// CURLOPT_HTTPHEADER => array( -//// 'authority' => 'api.bilibili.com', -//// 'accept' => '*/*', -//// 'accept-language' => 'en,zh-CN;q=0.9,zh;q=0.8', -//// 'cache-control' => 'no-cache', -// 'origin' => 'https://space.bilibili.com', -//// 'pragma' => 'no-cache', -//// 'referer' => 'https://space.bilibili.com/385079033/', -//// 'sec-ch-ua' => 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36', -//// 'sec-ch-ua-mobile' => '?0', -//// 'sec-ch-ua-platform' => '"macOS"', -//// 'sec-fetch-dest' => 'empty', -//// 'sec-fetch-mode' => 'cors', -//// 'sec-fetch-site' => 'same-site', -// 'user-agent' => 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36'), -// )); + // CURLOPT_URL => "https://api.bilibili.com/x/space/wbi/arc/search?" . $query["new"], + // CURLOPT_RETURNTRANSFER => true, + //// CURLOPT_ENCODING => '', + //// CURLOPT_MAXREDIRS => 10, + //// CURLOPT_TIMEOUT => 10, + //// CURLOPT_FOLLOWLOCATION => true, + //// CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, + // CURLOPT_CUSTOMREQUEST => 'GET', + // CURLOPT_HTTPHEADER => array( + //// 'authority' => 'api.bilibili.com', + //// 'accept' => '*/*', + //// 'accept-language' => 'en,zh-CN;q=0.9,zh;q=0.8', + //// 'cache-control' => 'no-cache', + // 'origin' => 'https://space.bilibili.com', + //// 'pragma' => 'no-cache', + //// 'referer' => 'https://space.bilibili.com/385079033/', + //// 'sec-ch-ua' => 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36', + //// 'sec-ch-ua-mobile' => '?0', + //// 'sec-ch-ua-platform' => '"macOS"', + //// 'sec-fetch-dest' => 'empty', + //// 'sec-fetch-mode' => 'cors', + //// 'sec-fetch-site' => 'same-site', + // 'user-agent' => 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36'), + // )); $response = curl_exec($curl); $err = curl_error($curl); @@ -243,7 +252,7 @@ class BilibiliServiceV2 { if ($err) { echo "cURL Error #:" . $err; } else { -// echo $response;exit; + echo $response;exit; $result = json_decode($response, true); if (!array_key_exists("data", $result) || !array_key_exists("list", $result["data"])) { Log::info("result is null " . json_encode($response)); @@ -253,8 +262,8 @@ class BilibiliServiceV2 { $count = Arr::get(Arr::get($result["data"], "page", []), "count", 0); Log::info("up {$item["up_name"]} count is {$count}"); $result = Arr::get($result["data"]["list"], "vlist", []); - if (count($result) > 0 ) { - // && $count > $item["count"] + ($i - 1) * 30 + if (count($result) > 0) { + // && $count > $item["count"] + ($i - 1) * 30 foreach ($result as $vItem) { $bVideo = BilibiliVideos::firstOrCreate(["aid" => $vItem["aid"]], [ @@ -294,28 +303,106 @@ class BilibiliServiceV2 { } - public function queryUpVideoTotalWithCache($mid) - { - $today = date("Y-m-d"); - $todayCount = Redis::connection()->get("bilibili:count:{$today}:{$mid}"); - if ($todayCount == null) { - $todayCount = $this->queryUpVideoTotal($mid); - Redis::connection()->set("bilibili:count:{$today}:{$mid}", $todayCount); - } - return $todayCount; - } + public function queryUpVideoListNew($mediaId = 320491072, $startPos = 0, $limit = 20) { + Log::info("schedule queryUpVideoList inner started at: " . date("Y-m-d H:i:s")); + + // 475250 kyokyo + // 3489535 熊小颖 + // 320491072 绯绯 + // 10139490 短短 + // 116683 咬人猫 + // 16539048 小仙若 + // 10278125 香草猫饼 + // 391073761 女团直拍 + // 267781236 韩国女团饭拍直拍 + // 23400436 小雪_juvia + $list = BilibiliUpVideos::where("id", "<=", "200") + ->orderBy('id', 'desc') + ->offset($startPos) + ->limit($limit) + ->get(); +// $list = $list->slice(5); - /** - * @throws Exception - */ - public function queryUpVideoTotal($mid) - { - $url = "https://api.bilibili.com/x/space/navnum?mid=" . $mid; - $curl = curl_init(); - $header[] = "Accept: */*"; + foreach ($list as $key => $item) { + Log::info("schedule queryUpVideoList current up is {$item['up_name']}, started at: " . date("Y-m-d H:i:s")); +// $files = scandir($this->baseDir . "bilibili/" . $item['up_name']); +// $todayCount = $this->queryUpVideoTotalWithCache($item["mid"]); + $todayCount = 1000; + if ($todayCount <= $item["count"]) { + Log::info("today new count is {$todayCount} is same or smaller than {$item["count"]} skip"); + continue; + } + + $mediaId = $item['mid']; + $videos = []; + $pageNo = 1; + $url = "https://api.bilibili.com/x/space/wbi/arc/search?mid={$mediaId}&ps=30&tid=0&keyword=&pn="; + $pageAll = ceil(($todayCount - $item["count"]) / 30); +// if ($mediaId == 241804522 || $mediaId == 3461581333596856) { + // $pageAll = 10; + // } + + // https://api.bilibili.com/x/space/wbi/arc/search? + // mid=363430107& + //ps=30& + //tid=0& + //pn=1& + //keyword=& + //order=pubdate& + //platform=web& + //web_location=1550101& + //order_avoided=true& + //w_rid=a1011501119a6d795f369ec2bafa1af2& + //wts=1685087658 + // https://space.bilibili.com/475250/video + for ($i = 1; $i <= $pageAll; $i++) { + $curl = curl_init(); + $b_nut = time(); + $dmImgStr = str_replace("==", "", base64_encode($this->randFloat())); + $dmImgStr = "V2ViR0wgMS4wIChPcGVuR0wgRVMgMi4wIENocm9taXVtKQ"; + $dmCoverImgStr = str_replace("==", "", base64_encode($this->randFloat())); + $dmCoverImgStr = "QU5HTEUgKEludGVsIEluYy4sIEludGVsKFIpIElyaXMoVE0pIFBsdXMgR3JhcGhpY3MgNjU1LCBPcGVuR0wgNC4xKUdvb2dsZSBJbmMuIChJbnRlbCBJbmMuKQ"; +// echo $dmImgStr . "\n"; + // echo $dmCoverImgStr . "\n";exit; + + $dm_rand = 'ABCDEFGHIJK'; + $dm_img_list = '[]'; + $dm_img_str = $this->GetRandStr(2); + $dm_cover_img_str = $this->GetRandStr(2); + + $dm_img_inter = "{\"ds\":[],\"wh\":[0,0,0],\"of\":[0,0,0]}"; + $w_webid = $this->getWebId(); + $encrypt_string = "dm_img_list={$dm_img_list}&dm_img_str={$dm_img_str}&dm_cover_img_str={$dm_cover_img_str}&dm_img_inter=" . $dm_img_inter . "&w_webid={$w_webid}&keyword=&mid={$mediaId}&order=pubdate&order_avoided=true&platform=web&pn={$i}&ps=30&tid=&web_location="; + $query = $this->build_params($encrypt_string); +// dump($query);exit; + + $params = [ + "mid" => $mediaId, + "ps" => 30, + "tid" => '', + "keyword" => "", + "order" => "pubdate", + "platform" => "web", + "web_location" => 1550101, + "order_avoided" => 'true', + "pn" => $i, + "dm_img_list" => [], + "dm_img_str" => $dmImgStr, + "dm_cover_img_str" => $dmCoverImgStr, + ]; +// $query = $this->build_params($params); + // echo $query;exit; + // $opts = array('http' => array('header' => '"User-Agent": "Mozilla/5.0"\r\n "origin": "https://space.bilibili.com\r\n "accept-language":"en,zh-CN;q=0.9,zh;q=0.8"\r\n')); + +// $ctx = stream_context_create($opts); + // echo file_get_contents("https://api.bilibili.com/x/space/wbi/arc/search?" . $query["new"], false, $ctx); + // exit; + $url = "https://api.bilibili.com/x/space/wbi/arc/search?" . $query["new"]; + $header[] = "Accept: */*"; $header[] = "Accept-Language: en-US,en;q=0.9,zh-CN;q=0.8,zh;q=0.7"; $header[] = "Connection: close"; $header[] = "Cache-Control: max-age=0"; +// $header[] = "Cookie: buvid3=F1D75200-6E4F-58D2-E1FA-7DE70663401985249infoc; b_nut=1706932685; buvid4=A11F8D72-D362-0ECD-5199-D0E4F52EE6F285597-024020303-jL3QxKOpdP9YTu%2BHyZaEIQ%3D%3D; _uuid=449728D2-B68B-1026D-DBB2-A1BEDCC6866585496infoc; buvid_fp=0be21f013c19ab3635b096b34a8a20fd; bili_ticket=eyJhbGciOiJIUzI1NiIsImtpZCI6InMwMyIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MDcxOTE4ODYsImlhdCI6MTcwNjkzMjYyNiwicGx0IjotMX0.KdU9NjwlEAoUr2VXRehVM4omOfSN1Wh9KPn0Cp_Fhtw; bili_ticket_expires=1707191826; b_lsid=6F6684EC_18D6EBB74D7; PVID=1"; curl_setopt_array($curl, [ CURLOPT_HTTPGET => 1, CURLOPT_CUSTOMREQUEST => 'GET', @@ -323,26 +410,142 @@ class BilibiliServiceV2 { CURLOPT_HTTPHEADER => $header, CURLOPT_ENCODING => '', CURLOPT_URL => $url, - CURLOPT_USERAGENT => 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.63 Safari/537.36 Edg/102.0.1245.39', - CURLOPT_TIMEOUT => 15 + CURLOPT_USERAGENT => 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36', + CURLOPT_TIMEOUT => 15, ]); - $response = curl_exec($curl); - $err = curl_error($curl); - - curl_close($curl); - - if ($err) { - echo "cURL Error #:" . $err; - } else { - $res = json_decode($response, true); - if (array_key_exists("data", $res) && array_key_exists("video", $res["data"])) { - return $res["data"]["video"]; - } else { - throw new Exception("获取up 视频数量异常"); +// curl_setopt_array($curl, array( + // CURLOPT_URL => "https://api.bilibili.com/x/space/wbi/arc/search?" . $query["new"], + // CURLOPT_RETURNTRANSFER => true, + //// CURLOPT_ENCODING => '', + //// CURLOPT_MAXREDIRS => 10, + //// CURLOPT_TIMEOUT => 10, + //// CURLOPT_FOLLOWLOCATION => true, + //// CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, + // CURLOPT_CUSTOMREQUEST => 'GET', + // CURLOPT_HTTPHEADER => array( + //// 'authority' => 'api.bilibili.com', + //// 'accept' => '*/*', + //// 'accept-language' => 'en,zh-CN;q=0.9,zh;q=0.8', + //// 'cache-control' => 'no-cache', + // 'origin' => 'https://space.bilibili.com', + //// 'pragma' => 'no-cache', + //// 'referer' => 'https://space.bilibili.com/385079033/', + //// 'sec-ch-ua' => 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36', + //// 'sec-ch-ua-mobile' => '?0', + //// 'sec-ch-ua-platform' => '"macOS"', + //// 'sec-fetch-dest' => 'empty', + //// 'sec-fetch-mode' => 'cors', + //// 'sec-fetch-site' => 'same-site', + // 'user-agent' => 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36'), + // )); + + $response = curl_exec($curl); + $err = curl_error($curl); + + curl_close($curl); + + if ($err) { + echo "cURL Error #:" . $err; + } else { + echo $response;exit; + $result = json_decode($response, true); + if (!array_key_exists("data", $result) || !array_key_exists("list", $result["data"])) { + Log::info("result is null " . json_encode($response)); + exit; + continue; + } + $count = Arr::get(Arr::get($result["data"], "page", []), "count", 0); + Log::info("up {$item["up_name"]} count is {$count}"); + $result = Arr::get($result["data"]["list"], "vlist", []); + if (count($result) > 0) { + // && $count > $item["count"] + ($i - 1) * 30 + foreach ($result as $vItem) { + $bVideo = BilibiliVideos::firstOrCreate(["aid" => $vItem["aid"]], + [ + "title" => $vItem["title"], + "from_type" => 2, + "from_up_name" => $item["up_name"], + "bv_id" => $vItem["bvid"], + "up_mid" => $mediaId, + "collection_mid" => 0, + ]); + if ($bVideo->from_type != 2) { + $bVideo->from_type = 3; + } + $bVideo->bv_id = $vItem["bvid"]; + $bVideo->up_mid = $mediaId; + $bVideo->from_up_name = $item["up_name"]; + $bVideo->save(); + $videos[] = $vItem["aid"]; + } + } else { + break; + } + } + usleep(random_int(1000, 10000) * 1000); + } + if ($key % 5 == 0 && $key != 0) { + sleep(300); } + if (isset($count) && $count > $item["count"]) { + $item["count"] = $count; + } +// $item['videos'] = json_encode($videos); + // $item['downloaded_videos'] = json_encode([]); + + $item->save(); } + } + public function queryUpVideoTotalWithCache($mid) { + $today = date("Y-m-d"); + $todayCount = Redis::connection()->get("bilibili:count:{$today}:{$mid}"); + if ($todayCount == null) { + $todayCount = $this->queryUpVideoTotal($mid); + Redis::connection()->set("bilibili:count:{$today}:{$mid}", $todayCount); + } + return $todayCount; + } + + /** + * @throws Exception + */ + public function queryUpVideoTotal($mid) { + $url = "https://api.bilibili.com/x/space/navnum?mid=" . $mid; + $curl = curl_init(); + $header[] = "Accept: */*"; + $header[] = "Accept-Language: en-US,en;q=0.9,zh-CN;q=0.8,zh;q=0.7"; + $header[] = "Connection: close"; + $header[] = "Cache-Control: max-age=0"; + curl_setopt_array($curl, [ + CURLOPT_HTTPGET => 1, + CURLOPT_CUSTOMREQUEST => 'GET', + CURLOPT_RETURNTRANSFER => 1, + CURLOPT_HTTPHEADER => $header, + CURLOPT_ENCODING => '', + CURLOPT_URL => $url, + CURLOPT_USERAGENT => 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.63 Safari/537.36 Edg/102.0.1245.39', + CURLOPT_TIMEOUT => 15, + ]); + $response = curl_exec($curl); + $err = curl_error($curl); + + curl_close($curl); + + if ($err) { + echo "cURL Error #:" . $err; + } else { + echo $response; + $res = json_decode($response, true); + if (array_key_exists("data", $res) && array_key_exists("video", $res["data"])) { + return $res["data"]["video"]; + } else { + throw new Exception("获取up 视频数量异常"); + } + } + } + /** * 手动执行查询 * @param int $mediaId @@ -1288,20 +1491,38 @@ done && echo "ok"'); public function downloadDynamics() { $env = App::environment(); - $list = BilibiliUpVideos::orderBy("id", "desc")->where("id", ">=", "18")->limit(150)->get(); + $list = BilibiliUpVideos::orderBy("id", "desc")->offset(0)->limit(150)->get(); +// ->where("id", ">=", "0") foreach ($list as $item) { + sleep(rand(1, 15)); $mid = $item["mid"]; $offset = null; $response = null; - $skipFlag = false; + $skipFlag = false; + $index = 0; do { - echo "=============== current up is {$item["up_name"]} ==================\n"; - $jsonResponse = $this->dynamicsRequest($mid, $offset); + $index++; + if ($skipFlag) { + break; + } + sleep(rand(1, 15)); + echo "=============== current up is {$item["up_name"]} ==================\n"; + $doi = 0; + do { + $doi++; + try { + $jsonResponse = $this->dynamicsRequest($mid, $offset); + break; + } catch (Exception $e) { + Log::error($e->getMessage()); + } + } while ($doi < 10); echo $jsonResponse; $response = json_decode($jsonResponse, true); if (array_key_exists("code", $response) && $response["code"] == '0' && array_key_exists("data", $response) && array_key_exists("items", $response["data"])) { $dynamics = $response["data"]["items"]; + $skipFlag = false; foreach ($dynamics as $dynamic) { if ($dynamic["type"] == "DYNAMIC_TYPE_DRAW") { if (array_key_exists("modules", $dynamic) && @@ -1317,38 +1538,40 @@ done && echo "ok"'); } } } else if ($dynamic["type"] == "DYNAMIC_TYPE_AV") { - if (array_key_exists("modules", $dynamic) && - array_key_exists("module_dynamic", $dynamic["modules"]) && - array_key_exists("major", $dynamic["modules"]["module_dynamic"]) && - array_key_exists("archive", $dynamic["modules"]["module_dynamic"]["major"]) && - array_key_exists("bvid", $dynamic["modules"]["module_dynamic"]["major"]["archive"]) && - array_key_exists("title", $dynamic["modules"]["module_dynamic"]["major"]["archive"]) - ) { - $exists = BilibiliVideos::where("aid", "=", $dynamic["modules"]["module_dynamic"]["major"]["archive"]["aid"])->first(); - if ($exists !== null) { - Log::info("current aid exist skip ================================="); -// $skipFlag = true; - break 2; - } - $bVideo = BilibiliVideos::firstOrCreate(["aid" => $dynamic["modules"]["module_dynamic"]["major"]["archive"]["aid"]], - [ - "title" => $dynamic["modules"]["module_dynamic"]["major"]["archive"]["title"], - "from_type" => 2, - "from_up_name" => $item["up_name"], - "bv_id" => $dynamic["modules"]["module_dynamic"]["major"]["archive"]["bvid"], - "up_mid" => $mid, - "collection_mid" => 0, - ]); - if ($bVideo->from_type != 2) { - $bVideo->from_type = 3; - } - $bVideo->bv_id = $dynamic["modules"]["module_dynamic"]["major"]["archive"]["bvid"]; - $bVideo->up_mid = $mid; - $bVideo->from_up_name = $item["up_name"]; - $bVideo->save(); - } - } + if (array_key_exists("modules", $dynamic) && + array_key_exists("module_dynamic", $dynamic["modules"]) && + array_key_exists("major", $dynamic["modules"]["module_dynamic"]) && + array_key_exists("archive", $dynamic["modules"]["module_dynamic"]["major"]) && + array_key_exists("bvid", $dynamic["modules"]["module_dynamic"]["major"]["archive"]) && + array_key_exists("title", $dynamic["modules"]["module_dynamic"]["major"]["archive"]) + ) { + $exists = BilibiliVideos::where("aid", "=", $dynamic["modules"]["module_dynamic"]["major"]["archive"]["aid"])->first(); + if ($exists !== null) { + Log::info("current aid exist skip ================================="); + $skipFlag = true; +// break 2; + } + $bVideo = BilibiliVideos::firstOrCreate(["aid" => $dynamic["modules"]["module_dynamic"]["major"]["archive"]["aid"]], + [ + "title" => $dynamic["modules"]["module_dynamic"]["major"]["archive"]["title"], + "from_type" => 2, + "from_up_name" => $item["up_name"], + "bv_id" => $dynamic["modules"]["module_dynamic"]["major"]["archive"]["bvid"], + "up_mid" => $mid, + "collection_mid" => 0, + ]); + if ($bVideo->from_type != 2) { + $bVideo->from_type = 3; + } + $bVideo->bv_id = $dynamic["modules"]["module_dynamic"]["major"]["archive"]["bvid"]; + $bVideo->up_mid = $mid; + $bVideo->from_up_name = $item["up_name"]; + $bVideo->save(); + } + } } + } else { + echo "====================== data is not normal ======================\n"; } if (array_key_exists("data", $response) && array_key_exists("offset", $response["data"])) { $offset = $response["data"]["offset"]; @@ -1363,22 +1586,38 @@ done && echo "ok"'); public function dynamicsRequest($mid, $offset) { $client = new Client(); - $headers = [ - 'authority' => 'api.bilibili.com', +// $headers = [ + // 'accept' => '*/*', + // 'accept-language' => 'zh-CN,zh;q=0.9', + // 'cache-control' => 'no-cache', + // 'cookie' => 'buvid3=67245DCB-26E6-BFE8-A096-2DCD816F484E66359infoc; b_nut=1711166466; b_lsid=910710766F_18E69782A5E; _uuid=2C7BEEC1-10A8D-DE75-C9DF-E88C755982EE66658infoc; buvid4=72E32FA0-3DA0-B59A-28D0-19ED46EE5F2666682-024032304-9hlK%2FyFTfkthMYAU943pxw%3D%3D; bili_ticket=eyJhbGciOiJIUzI1NiIsImtpZCI6InMwMyIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MTE0MjU2NjYsImlhdCI6MTcxMTE2NjQwNiwicGx0IjotMX0.F2zbZtMifzoytWVX--7GF9ScxMJMmzHRWCcJjsxR1n4; bili_ticket_expires=1711425606; buvid_fp=7844041d2a1a51c5f6efcc4061de1838', + // 'origin' => 'https://space.bilibili.com', + // 'pragma' => 'no-cache', + // 'referer' => 'https://space.bilibili.com/496504596/dynamic', + // 'sec-ch-ua' => '"Google Chrome";v="123", "Not:A-Brand";v="8", "Chromium";v="123"', + // 'sec-ch-ua-mobile' => '?0', + // 'sec-ch-ua-platform' => '"macOS"', + // 'sec-fetch-dest' => 'empty', + // 'sec-fetch-mode' => 'cors', + // 'sec-fetch-site' => 'same-site', + // 'user-agent' => 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36' + // ]; + $headers = [ 'accept' => '*/*', 'accept-language' => 'zh-CN,zh;q=0.9', 'cache-control' => 'no-cache', - 'cookie' => 'buvid3=EF29B60A-6AA9-0563-A2FA-D92BEFC1B23067735infoc; b_nut=1702217967; b_lsid=2CFDCA64_18C5418E9FE; _uuid=4561010248-344A-4CFE-10D62-6BD31267D5A268133infoc; buvid4=6AF2B782-95B2-B1CF-0490-15EE12B63F7868264-023121014-; buvid_fp=16ca7877abf814d5ed71dfd8c26f15d7; bili_ticket=eyJhbGciOiJIUzI1NiIsImtpZCI6InMwMyIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MDI0NzcxNjksImlhdCI6MTcwMjIxNzkwOSwicGx0IjotMX0.y__-5e5q6Nhk_MpRZeLd9CIYw6xdwnmuv4OzA5qKVqw; bili_ticket_expires=1702477109', + 'cookie' => 'buvid3=BB2A4D5B-11A0-EC98-E67C-F2ECED51252D86432infoc; b_nut=1734395686; b_lsid=BE1058F9B_193D20A03B6; _uuid=710A46510F-EF510-82BC-ADA1-109F10959EFFA691964infoc; buvid_fp=6e25adce2c1a5f6f37bc796e0e5d0ac2; enable_web_push=DISABLE; home_feed_column=5; browser_resolution=1512-857; buvid4=464EFD3C-221D-0F82-BC3B-C2E217DDFBE194492-024121700-IeDz9F592rGhrGUI/Qk4mw%3D%3D; CURRENT_FNVAL=2000; sid=fs8i6afm; bili_ticket=eyJhbGciOiJIUzI1NiIsImtpZCI6InMwMyIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MzQ2NTQ5MDYsImlhdCI6MTczNDM5NTY0NiwicGx0IjotMX0.so25MAGIDzGSfgt-5hSDFgweUEE63ciiykyMhsYqsMM; bili_ticket_expires=1734654846', 'origin' => 'https://space.bilibili.com', 'pragma' => 'no-cache', - 'referer' => 'https://space.bilibili.com/385079033/dynamic', - 'sec-ch-ua' => '"Google Chrome";v="119", "Chromium";v="119", "Not?A_Brand";v="24"', + 'priority' => 'u=1, i', + 'referer' => 'https://space.bilibili.com/418125910/dynamic', + 'sec-ch-ua' => '"Google Chrome";v="131", "Chromium";v="131", "Not_A Brand";v="24"', 'sec-ch-ua-mobile' => '?0', 'sec-ch-ua-platform' => '"macOS"', 'sec-fetch-dest' => 'empty', 'sec-fetch-mode' => 'cors', 'sec-fetch-site' => 'same-site', - 'user-agent' => 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.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/131.0.0.0 Safari/537.36' ]; if ($offset != null) { $url = "https://api.bilibili.com/x/polymer/web-dynamic/v1/feed/space?offset={$offset}&host_mid={$mid}&timezone_offset=-480&features=itemOpusStyle"; @@ -1386,7 +1625,7 @@ done && echo "ok"'); $url = "https://api.bilibili.com/x/polymer/web-dynamic/v1/feed/space?offset=&host_mid={$mid}&timezone_offset=-480&features=itemOpusStyle"; } $request = new Request('GET', $url, $headers); - $res = $client->sendAsync($request)->wait(); + $res = $client->sendAsync($request, ['connect_timeout' => 100, 'debug' => true])->wait(); return $res->getBody(); } @@ -1425,27 +1664,26 @@ done && echo "ok"'); return preg_replace("#[!'()*/]#", '', $v); // 过滤 value 中的 "!'()*" 字符 }, $params); $query = http_build_query($params); // 序列化参数 - $query = str_replace("&dm_img_str", "&dm_img_list=%5B%5D&dm_img_str", $query); + $query = str_replace("&dm_img_str", "&dm_img_list=%5B%5D&dm_img_str", $query); // echo $query;exit; $wbi_sign = md5($query . $mixin_key); // 计算 w_rid $params['w_rid'] = $wbi_sign; return $params; } - public function encWbiString($paramString, $img_key, $sub_key) - { - $mixin_key = $this->getMixinKey($img_key . $sub_key); + public function encWbiString($paramString, $img_key, $sub_key) { + $mixin_key = $this->getMixinKey($img_key . $sub_key); $curr_time = round(time()); - $wts = $curr_time; // 添加 wts 字段 -// echo "before $paramString \n"; -// preg_replace("#[!'()*/]#", '', $paramString); -// echo "after $paramString \n"; - $wbi_sign = md5($paramString . "&wts=" . $wts . $mixin_key); // 计算 w_rid -// echo "\n wbi sign is $wbi_sign \n";exit; - $params['w_rid'] = $wbi_sign; - $params["new"] = $paramString . "&w_rid=" . $wbi_sign . "&wts=" . $wts; - return $params; - } + $wts = $curr_time; // 添加 wts 字段 + // echo "before $paramString \n"; + // preg_replace("#[!'()*/]#", '', $paramString); + // echo "after $paramString \n"; + $wbi_sign = md5($paramString . "&wts=" . $wts . $mixin_key); // 计算 w_rid + // echo "\n wbi sign is $wbi_sign \n";exit; + $params['w_rid'] = $wbi_sign; + $params["new"] = $paramString . "&w_rid=" . $wbi_sign . "&wts=" . $wts; + return $params; + } public function getWbiKeys() { $img_key = Redis::connection()->get("img_key"); $sub_key = Redis::connection()->get("sub_key"); @@ -1467,24 +1705,124 @@ done && echo "ok"'); public function build_params($params) { list($img_key, $sub_key) = $this->getWbiKeys(); // dump($img_key); -// dump($sub_key); - if (gettype($params) == "string") { - $query = $this->encWbiString($params, $img_key, $sub_key); - } else { - $signed_params = $this->encWbi( - $params, - $img_key, - $sub_key - ); + // dump($sub_key); + if (gettype($params) == "string") { + $query = $this->encWbiString($params, $img_key, $sub_key); + } else { + $signed_params = $this->encWbi( + $params, + $img_key, + $sub_key + ); // dump($signed_params);exit; - $query = http_build_query($signed_params); - } + $query = http_build_query($signed_params); + } // print_r($signed_params); return $query; } - public function randFloat($min=0, $max=1){ - return $min + mt_rand()/mt_getrandmax() * ($max-$min); + public function randFloat($min = 0, $max = 1) { + return $min + mt_rand() / mt_getrandmax() * ($max - $min); + } + + public function GetRandStr($length) { + //字符组合 + $str = 'ABCDEFGHIJK'; + $len = strlen($str) - 1; + $randstr = ''; + for ($i = 0; $i < $length; $i++) { + $num = mt_rand(0, $len); + $randstr .= $str[$num]; + } + return $randstr; + } + + public function getWebId() + { + $content = file_get_contents("https://space.bilibili.com/16720403/video"); +// echo $content; + $start = ''; + $pos1 = strpos($content, $start, 0); + $pos2 = strpos($content, $end, $pos1); +// echo "\n" . $pos1; +// echo "\n" . $pos2; + $encodeStr = substr($content, $pos1 + strlen($start), $pos2 - $pos1 - strlen($start)); +// echo "\n" . urldecode($encodeStr); + return json_decode(urldecode($encodeStr), true)["access_id"]; + } + + public function queryBiliUpListNew($mediaId = 320491072, $startPos = 0, $limit = 20) { + Log::info("schedule queryUpVideoList inner started at: " . date("Y-m-d H:i:s")); + + // 475250 kyokyo + // 3489535 熊小颖 + // 320491072 绯绯 + // 10139490 短短 + // 116683 咬人猫 + // 16539048 小仙若 + // 10278125 香草猫饼 + // 391073761 女团直拍 + // 267781236 韩国女团饭拍直拍 + // 23400436 小雪_juvia + $list = BilibiliUpVideos::where("id", "<=", "200") + ->orderBy('id', 'desc') + ->offset($startPos) + ->limit($limit) + ->get(); +// $list = $list->slice(5); + $url = "https://app.bilibili.com/x/v2/space/archive/cursor?order=pubdate&vmid="; + foreach ($list as $key => $item) { + $aid = null; + $i = 0; + do { + $i++; + Log::info("schedule queryUpVideoList current up is {$item['up_name']}, started at: " . date("Y-m-d H:i:s")); + echo $item["mid"] . " " . $item["up_name"]; + if ($aid != null) { + echo " has next \n"; + $content = file_get_contents($url . $item["mid"] . "&aid=" . $aid); + } else{ + echo " start \n"; + $content = file_get_contents($url . $item["mid"]); + } + $jsonContent = json_decode($content, true); + if (array_key_exists("data", $jsonContent) && array_key_exists("item", $jsonContent["data"]) && $jsonContent["data"]["item"] != null && count($jsonContent["data"]["item"]) > 0) { + $aid = null; + foreach ($jsonContent["data"]["item"] as $vItem) { + $avid = substr($vItem["three_point"][1]["share_path"], strpos($vItem["three_point"][1]["share_path"], "=") + 1); + // echo $avid;exit; + if(BilibiliVideos::where(["bv_id" => $vItem["bvid"]])->exists() && $i > 2) { + echo "bvid " . $vItem["bvid"] . " " . $vItem["title"] . " exist skip to next\n"; + break 2; + } + $bVideo = BilibiliVideos::firstOrCreate(["bv_id" => $vItem["bvid"]], + [ + "title" => $vItem["title"], + "from_type" => 2, + "from_up_name" => $item["up_name"], + "bv_id" => $vItem["bvid"], + "aid" => $avid, + "up_mid" => $item["mid"], + "collection_mid" => 0, + ]); + if ($bVideo->from_type != 2) { + $bVideo->from_type = 3; + } + $bVideo->bv_id = $vItem["bvid"]; + $bVideo->up_mid = $item["mid"]; + $bVideo->from_up_name = $item["up_name"]; + $bVideo->save(); + $aid = $vItem["param"]; + } + } + usleep(random_int(1000, 10000) * 1000); + } while ($jsonContent["data"]["has_next"] && $aid != null); +// exit; + + } + } } diff --git a/app/Services/FfmpegService.php b/app/Services/FfmpegService.php index b73c45d..3f91610 100644 --- a/app/Services/FfmpegService.php +++ b/app/Services/FfmpegService.php @@ -127,11 +127,11 @@ class FfmpegService { continue; } $subDir = implode("/", [$baseDir, $file]); - $isDir = is_dir($subDir); + $isDir = is_dir("$subDir"); if ($isDir) { - $this->processDir($subDir); + $this->processDir("$subDir"); } else { - $this->processVideo($subDir); + $this->processVideo("$subDir"); } } } @@ -175,6 +175,9 @@ class FfmpegService { } catch (Throwable $e) { Log::error("mime_content_type has exception " . $e->getMessage()); } + if (!isset($mime) || $mime == null) { + return; + } $mediaInfo = new MediaInfo(); $mediaInfo->setConfig('use_oldxml_mediainfo_output_format', true); if (strstr($mime, "video/") || strstr($mime, "application/octet-stream")) { @@ -185,30 +188,31 @@ class FfmpegService { exit; } $fileInfo = pathinfo($pathFile); - if ($this->getRedis()->get("encode:lock:" . $fileInfo["filename"]) == 1) { - Log::info("file is encoding filename: " . $fileInfo["filename"]); - return; - } - if (!$this->getRedis()->set("encode:lock:" . $fileInfo["filename"], 1, "nx", "ex", 36000)) { - Log::info("lock failed filename: " . $fileInfo["filename"]); - return; - } - if ($this->getRedis()->sismember("unneed", $fileInfo["filename"])) { - Log::info("in uneed: " . $fileInfo["filename"]); +// if ($this->getRedis()->get("encode:lock:" . $fileInfo["basename"]) == 1) { +// Log::info("file is encoding filename: " . $fileInfo["basename"]); +// return; +// } +// if (!$this->getRedis()->set("encode:lock:" . $fileInfo["basename"], 1, "nx", "ex", 36000)) { +// Log::info("lock failed filename: " . $fileInfo["basename"]); +// return; +// } + if ($this->getRedis()->sismember("unneed", $fileInfo["basename"])) { + Log::info("in uneed: " . $fileInfo["basename"]); return; } - if ($this->getRedis()->sismember("sizeSmall", $fileInfo["filename"]) || !$this->checkFileSize($pathFile)) { - $this->getRedis()->sadd("sizeSmall", $fileInfo["filename"]); - Log::info("filesize: " . $fileInfo["filename"]); - return; - } - $fileSha = sha1_file($pathFile); - $existItem = EncodeRecord::where("file_hash_sha", $fileSha)->first(); - if ($existItem != null) { - Log::info("$pathFile has already encode by h265 return and path is {$existItem["file_path"]}"); - return; - } - if ($this->getRedis()->sismember("hasEncode", $fileInfo["filename"]) || $this->checkFileEncodeType($pathFile)) { +// if ($this->getRedis()->sismember("sizeSmall", $fileInfo["basename"]) || !$this->checkFileSize($pathFile)) { +// $this->getRedis()->sadd("sizeSmall", $fileInfo["basename"]); +// Log::info("filesize: " . $fileInfo["basename"]); +// return; +// } + // $fileSha = sha1_file($pathFile); + // $existItem = EncodeRecord::where("file_hash_sha", $fileSha)->first(); + // if ($existItem != null) { + // Log::info("$pathFile has already encode by h265 return and path is {$existItem["file_path"]}"); + // return; + // } + if ($this->checkFileEncodeType($pathFile)) { + // $this->getRedis()->sismember("hasEncode", $fileInfo["filename"]) || $this->getRedis()->sadd("hasEncode", $fileInfo["filename"]); Log::info("$pathFile has already encode by h265 return"); return; @@ -224,6 +228,9 @@ class FfmpegService { if (Str::endsWith($fileInfo["filename"], "-x265")) { return; } +// if (Str::startsWith($fileInfo["filename"], "IPX")) { +// return; +// } $targetFile = $fileInfo["dirname"] . DIRECTORY_SEPARATOR . $fileInfo["filename"] . '-x265' . '.' . self::DEFAULT_EXTENSION; if (is_file($targetFile) && $this->isNeedRemoveExistFiles()) { Log::info("$targetFile is exists"); @@ -245,14 +252,14 @@ class FfmpegService { unlink($pathFile); return; } - if ($this->getDimension($pathFile)->getWidth() > 3840) { + if ($this->getDimension($pathFile)->getWidth() >= 3840) { // $result = shell_exec("/Users/shixuesen/Downloads/ffmpeg -threads 16 -i ". escapeshellarg($pathFile) ." -preset ultrafast -crf 25 -c:v libx265 -x265-params pools=8 -vtag hvc1 " . escapeshellarg($targetFile) . " && echo 'ok'"); - $result = shell_exec("/Users/shixuesen/Downloads/software/ffmpeg -i " . escapeshellarg($pathFile) . " {$preset} -c:v libx265 -x265-params pools=8 -vtag hvc1 -vf \"scale=4096:-1\" " . escapeshellarg($targetFile) . " && echo 'ok'"); + $result = shell_exec("/Users/shixuesen/Downloads/ffmpeg -i " . escapeshellarg($pathFile) . " {$preset} -crf 25 -c:v libx265 -x265-params pools=11 -vtag hvc1 -vf \"scale=3840:-1\" " . escapeshellarg($targetFile) . " && echo 'ok'"); } else { if ($slowFlag) { - $result = shell_exec("/Users/shixuesen/Downloads/software/ffmpeg -i " . escapeshellarg($pathFile) . " {$preset} -c:v libx265 -x265-params pools=8 -vtag hvc1 " . escapeshellarg($targetFile) . " && echo 'ok'"); + $result = shell_exec("/Users/shixuesen/Downloads/ffmpeg -i " . escapeshellarg($pathFile) . " {$preset} -c:v libx265 -x265-params pools=11 -vtag hvc1 " . escapeshellarg($targetFile) . " && echo 'ok'"); } else { - $result = shell_exec("/Users/shixuesen/Downloads/software/ffmpeg -i " . escapeshellarg($pathFile) . " {$preset} -c:v libx265 -x265-params pools=8 -vtag hvc1 " . escapeshellarg($targetFile) . " && echo 'ok'"); + $result = shell_exec("/Users/shixuesen/Downloads/ffmpeg -i " . escapeshellarg($pathFile) . " {$preset} -c:v libx265 -x265-params pools=11 -vtag hvc1 " . escapeshellarg($targetFile) . " && echo 'ok'"); } } // echo $result; @@ -263,24 +270,24 @@ class FfmpegService { $oldFileSize = filesize($pathFile); $newFileSize = filesize($targetFile); if ($newFileSize >= $oldFileSize) { - $this->getRedis()->sadd("unneed", $fileInfo["filename"]); + $this->getRedis()->sadd("unneed", $fileInfo["basename"]); echo "old file size is smaller than new one, old is " . file_size($oldFileSize) . " and new is " . file_size($newFileSize) . ", now remove new one"; Log::info("old file size is smaller than new one, old is " . file_size($oldFileSize) . " and new is " . file_size($newFileSize) . ", now remove new one"); unlink($targetFile); } else { - $this->getRedis()->sadd("unneed", $fileInfo["filename"]); + $this->getRedis()->sadd("unneed", $fileInfo["basename"]); echo "new file size is smaller than old one, new is " . file_size($newFileSize) . " and old is " . file_size($oldFileSize) . ", now remove old one"; Log::info("new file size is smaller than old one, new is " . file_size($newFileSize) . " and old is " . file_size($oldFileSize) . ", now remove old one"); unlink($pathFile); rename($targetFile, $pathFile); } - $encodeRecord = new EncodeRecord(); - $encodeRecord->file_hash_sha = $fileSha; - $encodeRecord->file_path = pathinfo($pathFile, PATHINFO_DIRNAME); - $encodeRecord->file_name = pathinfo($pathFile, PATHINFO_BASENAME); - $encodeRecord->save(); + // $encodeRecord = new EncodeRecord(); + // $encodeRecord->file_hash_sha = $fileSha; + // $encodeRecord->file_path = pathinfo($pathFile, PATHINFO_DIRNAME); + // $encodeRecord->file_name = pathinfo($pathFile, PATHINFO_BASENAME); + // $encodeRecord->save(); } - $this->getRedis()->del("encode:lock:" . $fileInfo["filename"]); + $this->getRedis()->del("encode:lock:" . $fileInfo["basename"]); } } } @@ -364,12 +371,12 @@ class FfmpegService { public function checkFileSize($file, $size = 1): bool { - if (is_file($file) && filesize($file) > 4 * 1024 * 1024 * 1024) { + if (is_file($file) && filesize($file) > 20 * 1024 * 1024) { return true; } - $fileSize = FileUtils::humanFilesize(filesize($file)); - echo "$file size < 4GB filesize is $fileSize skip \n"; - return true; + $fileSize = FileUtils::humanFilesize(filesize($file)); + echo "$file size < 4GB filesize is $fileSize skip \n"; + return false; } public function checkFileEncodeType($file): bool { @@ -380,13 +387,14 @@ class FfmpegService { ->videos() // filters video streams ->first() // returns the first video stream ->get('codec_name'); + echo "\n ==================== codec_name is {$codecName} ==================\n"; } catch (Throwable $e) { echo "error $file \n"; Log::error("ffprobe has error just return false for test, exception: " . $e->getMessage()); return false; } - return false; - return trim($codecName) == "hevc"; +// return false; + return trim($codecName) == "hevc" || trim($codecName) == "vp9"; } public function getDimension($file): Dimension { diff --git a/app/Services/FileService.php b/app/Services/FileService.php index db2a61c..55dc4fd 100644 --- a/app/Services/FileService.php +++ b/app/Services/FileService.php @@ -73,10 +73,10 @@ class FileService { // $dir = "/Volumes/T7/S级女优 童年女神姐姐 天海翼 天海つばさ合集出道至今个别中文字幕无码破解目前最全【396V1.55TB】"; // $list = scandir($dir); -// $baseDir = "/Volumes/desktop-5rv69tq/very"; - // $dirs = ["tg"]; - $baseDir = "/Users/shixuesen/Documents/otherSync/very"; - $dirs = ["mv1001"]; + $baseDir = "/Volumes/desktop-5rv69tq/very"; + $dirs = ["mv1231"]; +// $baseDir = "/Users/shixuesen/Documents/otherSync/very"; + // $dirs = ["mv1001"]; $files = []; foreach ($dirs as $dir) { $currentFiles = scandir($baseDir . DIRECTORY_SEPARATOR . $dir); @@ -109,7 +109,7 @@ class FileService { // dump($basename);continue; // dump(Redis::connection()->smembers("腐团儿"));exit; // - if (Redis::connection()->sismember("qqmv", $basename) == 0) { + if (Redis::connection()->sismember("qqmv01", $basename) == 0) { // echo $item . " size is " . filesize($item) / 1024 . "kb\n"; if (!str_contains($basename, "baiduyun.uploading.cfg")) { @@ -118,11 +118,12 @@ class FileService { dump($item); $i++; } -// rename($item, $baseDir . DIRECTORY_SEPARATOR . "tg_need" . DIRECTORY_SEPARATOR . $basename); +// dump($baseDir . DIRECTORY_SEPARATOR . "mv1232" . DIRECTORY_SEPARATOR . $basename); +// rename($item, $baseDir . DIRECTORY_SEPARATOR . "崔兔子" . DIRECTORY_SEPARATOR . $basename); } // } else { - unlink($item); +// unlink($item); } } echo "all file num is " . $i; diff --git a/app/Services/InstagramService.php b/app/Services/InstagramService.php index d7fa88e..c6f854f 100644 --- a/app/Services/InstagramService.php +++ b/app/Services/InstagramService.php @@ -969,6 +969,9 @@ class InstagramService { "u.zyn" => 1639118555, "1jinoh" => 6820106727, "miaomi7188" => 56607909216, + "jessievardie" => 4112637356, + "liuislbn" => 57411540594, + "_yujin_an" => 6777351116, ]; @@ -1542,7 +1545,7 @@ class InstagramService { Redis::connection()->ltrim(self::INS_USER_KEY, 10, -1); } $alwaysNeedToQueryUsers = []; - $alwaysNeedToQueryUsers = ["gawonaa", "bonnie.90106_", "jiee_wen", "hazyryu", "mikamikatn", "boram__jj", "cho_hyunyoung", "cxxsomi", "inkyung97", "na0912mi", "naughty_rabbit_", "sejinming", "zyzyxin222"]; + $alwaysNeedToQueryUsers = ["_yujin_an", "gawonaa", "bonnie.90106_", "jiee_wen", "hazyryu", "mikamikatn", "boram__jj", "cho_hyunyoung", "cxxsomi", "inkyung97", "na0912mi", "naughty_rabbit_", "sejinming", "zyzyxin222"]; // "bonnie.90106_", "amy00522", "bitnara1105", "zhizhibooty", "_azhua", "exy_s2", "colin.anthony2", "7alice77", "leeesovelys2", "anran.1033", "doly0818", "siawase726", "yifei_cc", "17_chill", "shinapit46", "crissielee_", $toQueryUsers = array_unique(array_merge($alwaysNeedToQueryUsers, $toQueryUsers)); } else { @@ -1702,7 +1705,7 @@ class InstagramService { // 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. if ($singleUser != null || (is_array($singleUser) && count($singleUser) > 0)) { - if ($count - $existCount > (100 + random_int(0, 20)) || $count > 200) { + if ($count - $existCount > (100 + random_int(0, 20))) { // || $count > (50 + random_int(0, 20)) Log::info("new count bigger than 100", ['user' => $trueName]); goto a; @@ -2213,24 +2216,24 @@ class InstagramService { 'accept-language' => 'zh-CN,zh;q=0.9', 'cache-control' => 'no-cache', 'content-type' => 'application/x-www-form-urlencoded', - 'cookie' => 'ds_user_id=361404591; fbm_124024574287414=base_domain=.instagram.com; ig_did=B118EB65-DCA3-47C7-BFD9-36AE91644AA2; datr=WV9UZdg4SM4SuzFpXR8wCv99; mid=ZVRfXQAEAAFUwW22kaeJsldDuWyn; csrftoken=3mWukNaoc8J3bB6FsEH6iYRofSiXgckR; shbid="13821\\054361404591\\0541735980670:01f7b22901b80ce90389ad8fd268c44d4b59b11b98c0cb350ae146207ba4691fa3fe8d7f"; shbts="1704444670\\054361404591\\0541735980670:01f783c4178bac453c225bab5f8be15f6cbee220e48b62352ee114642b2fe0e3f15001b3"; fbsr_124024574287414=5kNvDSVa5fuxxtHfGwg_PPm6enGfKH75DvZEbLO_ke4.eyJ1c2VyX2lkIjoiMTAwMDA3ODU5ODI1MDQ3IiwiY29kZSI6IkFRRFh1N1BxMG1Qem5oeC0ycDVjUzNxUV9KdzJ0RWNmS1pVN1VBU2RCS01OdmVLTldNRU5iaElzZmlLSUVzYUpKZFNpVGpCY3ZVVmp3ZHVINHZtaHM1MVUwS1o5ZC16amhQa0wwVzZ5OHlnV0VqQWt2WXNHTnY4UHg4UXdCTTRpUUlUVmYzVWJyTmJhM0wxZDhDSFFtdDFCdGhZb2J0ZV8xNk9yOXlpNjg3cjBMcEt2dC1Na2hoeUthTmFqWkNMRVhaejU4MkRGdTBvUVM4MFZFaERvaFlGcVN3NGNvUGNZd3dDejRkU08zUnkyX1dfbkRLZlVDWldXQXR0akhLcFBBSFJLTUNfUkZuVVQ2MXkzdkUyVXdqWU9UcDFzQWR5cmVxc0F0bkhrdEVNb0pOUFYwa2RQVldva3pIUkxHbkRsbTFNUXllX1R5aGdBSjU2bk9XeUlFSTU2Iiwib2F1dGhfdG9rZW4iOiJFQUFCd3pMaXhuallCTzBOdlpBU0sxZHN5MTVoZWhOSW0wendkRW1HRERpU3NTT3FON3czQUlLaHdYVGxnN2lCTmhwc3VaQW1ERWhjeG5KZmYxdGdJVXlub3pMd3hqUHRMaU5yMUxSUFJZaUtuVFpBajlibnpCN2g2aTJFRmIwcjVRRDRkQjByNnZvdlhUYk9jbWsxMm9oeGhjaktQWUFoMDR0SllXOGE5SXZXYjdGRE1FSGtPZ0RCYVA4bkpPRHNFMmNaRCIsImFsZ29yaXRobSI6IkhNQUMtU0hBMjU2IiwiaXNzdWVkX2F0IjoxNzA0Njc4NDAxfQ; sessionid=361404591%3AKE4izPVJpqudBs%3A10%3AAYfudn1cKrWUYjd1eeVLS0H9tmO2kdTs0G_fo5JHMQ; fbsr_124024574287414=5kNvDSVa5fuxxtHfGwg_PPm6enGfKH75DvZEbLO_ke4.eyJ1c2VyX2lkIjoiMTAwMDA3ODU5ODI1MDQ3IiwiY29kZSI6IkFRRFh1N1BxMG1Qem5oeC0ycDVjUzNxUV9KdzJ0RWNmS1pVN1VBU2RCS01OdmVLTldNRU5iaElzZmlLSUVzYUpKZFNpVGpCY3ZVVmp3ZHVINHZtaHM1MVUwS1o5ZC16amhQa0wwVzZ5OHlnV0VqQWt2WXNHTnY4UHg4UXdCTTRpUUlUVmYzVWJyTmJhM0wxZDhDSFFtdDFCdGhZb2J0ZV8xNk9yOXlpNjg3cjBMcEt2dC1Na2hoeUthTmFqWkNMRVhaejU4MkRGdTBvUVM4MFZFaERvaFlGcVN3NGNvUGNZd3dDejRkU08zUnkyX1dfbkRLZlVDWldXQXR0akhLcFBBSFJLTUNfUkZuVVQ2MXkzdkUyVXdqWU9UcDFzQWR5cmVxc0F0bkhrdEVNb0pOUFYwa2RQVldva3pIUkxHbkRsbTFNUXllX1R5aGdBSjU2bk9XeUlFSTU2Iiwib2F1dGhfdG9rZW4iOiJFQUFCd3pMaXhuallCTzBOdlpBU0sxZHN5MTVoZWhOSW0wendkRW1HRERpU3NTT3FON3czQUlLaHdYVGxnN2lCTmhwc3VaQW1ERWhjeG5KZmYxdGdJVXlub3pMd3hqUHRMaU5yMUxSUFJZaUtuVFpBajlibnpCN2g2aTJFRmIwcjVRRDRkQjByNnZvdlhUYk9jbWsxMm9oeGhjaktQWUFoMDR0SllXOGE5SXZXYjdGRE1FSGtPZ0RCYVA4bkpPRHNFMmNaRCIsImFsZ29yaXRobSI6IkhNQUMtU0hBMjU2IiwiaXNzdWVkX2F0IjoxNzA0Njc4NDAxfQ; rur="NAO\\054361404591\\0541736214427:01f70f497634a6998269937ad6828332b088e95207607cf4699ef3aa94cd1c53edabb322"', + 'cookie' => 'ig_did=AA3E2C8B-D12E-45C6-8799-F8A197EA552F; datr=EhROZukO3XTAfSn8FJkwTiYT; ig_nrcb=1; ds_user_id=361404591; ps_l=1; ps_n=1; mid=Zq8niQAEAAGYF2fPcJ2OnIJo2wB1; fbm_124024574287414=base_domain=.instagram.com; csrftoken=adkXAcrNEBpNZUNBpTwih32BIPlzy0uF; sessionid=361404591%3AqGr4GEECTZVETR%3A18%3AAYeiCEEPWRrGB-guWriL2lhi9j-xDvQ6zdGuZx113w; wd=1512x476; rur="VLL\\054361404591\\0541769515760:01f7afb4c04bd0bbebcd490358c289d098096238ffd8316799d5219149e1eedf217fa733"', 'origin' => 'https://www.instagram.com', 'pragma' => 'no-cache', 'referer' => 'https://www.instagram.com/cho_hyunyoung/', 'sec-ch-prefers-color-scheme' => 'light', - 'sec-ch-ua' => '"Not_A Brand";v="8", "Chromium";v="120", "Google Chrome";v="120"', - 'sec-ch-ua-full-version-list' => '"Not_A Brand";v="8.0.0.0", "Chromium";v="120.0.6099.129", "Google Chrome";v="120.0.6099.129"', + 'sec-ch-ua' => '"Google Chrome";v="131", "Chromium";v="131", "Not_A Brand";v="24"', + 'sec-ch-ua-full-version-list' => '"Google Chrome";v="131.0.6778.205", "Chromium";v="131.0.6778.205", "Not_A Brand";v="24.0.0.0"', 'sec-ch-ua-mobile' => '?0', 'sec-ch-ua-platform' => '"macOS"', - 'sec-ch-ua-platform-version' => '"12.6.0"', + 'sec-ch-ua-platform-version' => '"14.3.0"', 'sec-fetch-dest' => 'empty', 'sec-fetch-mode' => 'cors', '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/120.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/131.0.0.0 Safari/537.36', 'x-asbd-id' => '129477', - 'x-csrftoken' => '3mWukNaoc8J3bB6FsEH6iYRofSiXgckR', + 'x-csrftoken' => 'adkXAcrNEBpNZUNBpTwih32BIPlzy0uF', 'x-ig-app-id' => '936619743392459', - 'x-ig-www-claim' => 'hmac.AR2DN3JP5T1uzerp-Udyl58luFekDMO1MUYZolRys4KAvAxu', + 'x-ig-www-claim' => 'hmac.AR2DN3JP5T1uzerp-Udyl58luFekDMO1MUYZolRys4KAvPJA', 'x-instagram-ajax' => '1007675716', 'x-requested-with' => 'XMLHttpRequest', ]; @@ -2301,30 +2304,29 @@ class InstagramService { $client = new Client(); $headers = [ - 'authority' => 'www.instagram.com', 'accept' => '*/*', 'accept-language' => 'zh-CN,zh;q=0.9', 'cache-control' => 'no-cache', - 'cookie' => 'ds_user_id=361404591; fbm_124024574287414=base_domain=.instagram.com; ig_did=B118EB65-DCA3-47C7-BFD9-36AE91644AA2; datr=WV9UZdg4SM4SuzFpXR8wCv99; mid=ZVRfXQAEAAFUwW22kaeJsldDuWyn; csrftoken=3mWukNaoc8J3bB6FsEH6iYRofSiXgckR; shbid="13821\\054361404591\\0541735980670:01f7b22901b80ce90389ad8fd268c44d4b59b11b98c0cb350ae146207ba4691fa3fe8d7f"; shbts="1704444670\\054361404591\\0541735980670:01f783c4178bac453c225bab5f8be15f6cbee220e48b62352ee114642b2fe0e3f15001b3"; fbsr_124024574287414=5kNvDSVa5fuxxtHfGwg_PPm6enGfKH75DvZEbLO_ke4.eyJ1c2VyX2lkIjoiMTAwMDA3ODU5ODI1MDQ3IiwiY29kZSI6IkFRRFh1N1BxMG1Qem5oeC0ycDVjUzNxUV9KdzJ0RWNmS1pVN1VBU2RCS01OdmVLTldNRU5iaElzZmlLSUVzYUpKZFNpVGpCY3ZVVmp3ZHVINHZtaHM1MVUwS1o5ZC16amhQa0wwVzZ5OHlnV0VqQWt2WXNHTnY4UHg4UXdCTTRpUUlUVmYzVWJyTmJhM0wxZDhDSFFtdDFCdGhZb2J0ZV8xNk9yOXlpNjg3cjBMcEt2dC1Na2hoeUthTmFqWkNMRVhaejU4MkRGdTBvUVM4MFZFaERvaFlGcVN3NGNvUGNZd3dDejRkU08zUnkyX1dfbkRLZlVDWldXQXR0akhLcFBBSFJLTUNfUkZuVVQ2MXkzdkUyVXdqWU9UcDFzQWR5cmVxc0F0bkhrdEVNb0pOUFYwa2RQVldva3pIUkxHbkRsbTFNUXllX1R5aGdBSjU2bk9XeUlFSTU2Iiwib2F1dGhfdG9rZW4iOiJFQUFCd3pMaXhuallCTzBOdlpBU0sxZHN5MTVoZWhOSW0wendkRW1HRERpU3NTT3FON3czQUlLaHdYVGxnN2lCTmhwc3VaQW1ERWhjeG5KZmYxdGdJVXlub3pMd3hqUHRMaU5yMUxSUFJZaUtuVFpBajlibnpCN2g2aTJFRmIwcjVRRDRkQjByNnZvdlhUYk9jbWsxMm9oeGhjaktQWUFoMDR0SllXOGE5SXZXYjdGRE1FSGtPZ0RCYVA4bkpPRHNFMmNaRCIsImFsZ29yaXRobSI6IkhNQUMtU0hBMjU2IiwiaXNzdWVkX2F0IjoxNzA0Njc4NDAxfQ; sessionid=361404591%3AKE4izPVJpqudBs%3A10%3AAYfudn1cKrWUYjd1eeVLS0H9tmO2kdTs0G_fo5JHMQ; fbsr_124024574287414=5kNvDSVa5fuxxtHfGwg_PPm6enGfKH75DvZEbLO_ke4.eyJ1c2VyX2lkIjoiMTAwMDA3ODU5ODI1MDQ3IiwiY29kZSI6IkFRRFh1N1BxMG1Qem5oeC0ycDVjUzNxUV9KdzJ0RWNmS1pVN1VBU2RCS01OdmVLTldNRU5iaElzZmlLSUVzYUpKZFNpVGpCY3ZVVmp3ZHVINHZtaHM1MVUwS1o5ZC16amhQa0wwVzZ5OHlnV0VqQWt2WXNHTnY4UHg4UXdCTTRpUUlUVmYzVWJyTmJhM0wxZDhDSFFtdDFCdGhZb2J0ZV8xNk9yOXlpNjg3cjBMcEt2dC1Na2hoeUthTmFqWkNMRVhaejU4MkRGdTBvUVM4MFZFaERvaFlGcVN3NGNvUGNZd3dDejRkU08zUnkyX1dfbkRLZlVDWldXQXR0akhLcFBBSFJLTUNfUkZuVVQ2MXkzdkUyVXdqWU9UcDFzQWR5cmVxc0F0bkhrdEVNb0pOUFYwa2RQVldva3pIUkxHbkRsbTFNUXllX1R5aGdBSjU2bk9XeUlFSTU2Iiwib2F1dGhfdG9rZW4iOiJFQUFCd3pMaXhuallCTzBOdlpBU0sxZHN5MTVoZWhOSW0wendkRW1HRERpU3NTT3FON3czQUlLaHdYVGxnN2lCTmhwc3VaQW1ERWhjeG5KZmYxdGdJVXlub3pMd3hqUHRMaU5yMUxSUFJZaUtuVFpBajlibnpCN2g2aTJFRmIwcjVRRDRkQjByNnZvdlhUYk9jbWsxMm9oeGhjaktQWUFoMDR0SllXOGE5SXZXYjdGRE1FSGtPZ0RCYVA4bkpPRHNFMmNaRCIsImFsZ29yaXRobSI6IkhNQUMtU0hBMjU2IiwiaXNzdWVkX2F0IjoxNzA0Njc4NDAxfQ; rur="NAO\\054361404591\\0541736214427:01f70f497634a6998269937ad6828332b088e95207607cf4699ef3aa94cd1c53edabb322"', + 'cookie' => 'ig_did=AA3E2C8B-D12E-45C6-8799-F8A197EA552F; datr=EhROZukO3XTAfSn8FJkwTiYT; ig_nrcb=1; ds_user_id=361404591; ps_l=1; ps_n=1; mid=Zq8niQAEAAGYF2fPcJ2OnIJo2wB1; fbm_124024574287414=base_domain=.instagram.com; csrftoken=adkXAcrNEBpNZUNBpTwih32BIPlzy0uF; sessionid=361404591%3AqGr4GEECTZVETR%3A18%3AAYeiCEEPWRrGB-guWriL2lhi9j-xDvQ6zdGuZx113w; wd=1512x476; rur="VLL\\054361404591\\0541769515760:01f7afb4c04bd0bbebcd490358c289d098096238ffd8316799d5219149e1eedf217fa733"', 'dpr' => '2', 'pragma' => 'no-cache', - 'referer' => 'https://www.instagram.com/cho_hyunyoung/', + 'referer' => 'https://www.instagram.com/', 'sec-ch-prefers-color-scheme' => 'light', - 'sec-ch-ua' => '"Not_A Brand";v="8", "Chromium";v="120", "Google Chrome";v="120"', - 'sec-ch-ua-full-version-list' => '"Not_A Brand";v="8.0.0.0", "Chromium";v="120.0.6099.129", "Google Chrome";v="120.0.6099.129"', + 'sec-ch-ua' => '"Google Chrome";v="131", "Chromium";v="131", "Not_A Brand";v="24"', + 'sec-ch-ua-full-version-list' => '"Google Chrome";v="131.0.6778.205", "Chromium";v="131.0.6778.205", "Not_A Brand";v="24.0.0.0"', 'sec-ch-ua-mobile' => '?0', 'sec-ch-ua-model' => '""', 'sec-ch-ua-platform' => '"macOS"', - 'sec-ch-ua-platform-version' => '"12.6.0"', + 'sec-ch-ua-platform-version' => '"14.3.0"', 'sec-fetch-dest' => 'empty', 'sec-fetch-mode' => 'cors', '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/120.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/131.0.0.0 Safari/537.36', 'viewport-width' => '1512', 'x-asbd-id' => '129477', - 'x-csrftoken' => '3mWukNaoc8J3bB6FsEH6iYRofSiXgckR', + 'x-csrftoken' => 'adkXAcrNEBpNZUNBpTwih32BIPlzy0uF', 'x-ig-app-id' => '936619743392459', - 'x-ig-www-claim' => 'hmac.AR2DN3JP5T1uzerp-Udyl58luFekDMO1MUYZolRys4KAvAxu', + 'x-ig-www-claim' => 'hmac.AR2DN3JP5T1uzerp-Udyl58luFekDMO1MUYZolRys4KAvPJA', 'x-requested-with' => 'XMLHttpRequest', ]; $url = "https://i.instagram.com/api/v1/feed/user/{$userId}/?count=12"; diff --git a/app/Services/RenameService.php b/app/Services/RenameService.php index 14bafac..9eb54ea 100644 --- a/app/Services/RenameService.php +++ b/app/Services/RenameService.php @@ -2,6 +2,8 @@ namespace App\Services; +use Illuminate\Support\Str; + class RenameService { private $nameLevel = -1; @@ -190,7 +192,7 @@ class RenameService { if (is_dir($dir)) { $files = scandir($dir); foreach ($files as $file) { - if ($file == "." || $file == ".." || $file == ".DS_Store" || $file == ".tmp.drivedownload" || str_contains($file, $prefix . "_00")) { + if ($file == "." || $file == ".." || $file == ".DS_Store" || $file == ".tmp.drivedownload" || str_contains($file, $prefix . "_00") || Str::startsWith($file, ".")) { continue; } if (is_dir($dir . DIRECTORY_SEPARATOR . $file)) { diff --git a/app/Services/WeiboService.php b/app/Services/WeiboService.php index 07f8ea5..9d70312 100644 --- a/app/Services/WeiboService.php +++ b/app/Services/WeiboService.php @@ -10,427 +10,445 @@ use Illuminate\Support\Facades\Redis; use Throwable; set_time_limit(0); -ini_set('memory_limit','-1'); +ini_set('memory_limit', '-1'); date_default_timezone_set('UTC'); -class WeiboService -{ - private $files = []; - private $videoDir = "/Volumes/T7/Image/weibo/video/"; - private $imageDir = "/Volumes/T7/Image/weibo/image/"; +class WeiboService { + private $files = []; + private $videoDir = "/Volumes/T7/Image/weibo/video/"; + private $imageDir = "/Volumes/T7/Image/weibo/image/"; - public function __construct() - { - $this->files = array_merge($this->files, scanFilesWithoutPath($this->imageDir)); - $this->files = array_merge($this->files, scanFilesWithoutPath($this->videoDir)); - } + public function __construct() { + $this->files = array_merge($this->files, scanFilesWithoutPath($this->imageDir)); + $this->files = array_merge($this->files, scanFilesWithoutPath($this->videoDir)); + } - public function weiboContainerIdList(): array - { - return [ - "tu是真的tu" => "1076032267562540", - "自己" => "230259", + public function weiboContainerIdList(): array { +// return [ "潇骑校尉曹操" => "1076037040041221", + // ]; +// return [ +// "tu是真的tu" => "1076032267562540"]; + return [ + "tu是真的tu" => "1076032267562540", + "自己" => "230259", // "轮子哥" => "2304131916825084", - "徐圣佑- 新号" => "1076035893812490", - "Afreecatv 精选" => "1076037383142802", - "AF-录制" => "1076037627445357", - "录像专用小马甲" => "1076033785550287", - "录像专用小马甲1" => "1076037453003153", - "录像专用小马甲2" => "1076036637436995", - "短短" => "1076032137020951", + "徐圣佑- 新号" => "1076035893812490", + "Afreecatv 精选" => "1076037383142802", + "AF-录制" => "1076037627445357", + "录像专用小马甲" => "1076033785550287", + "录像专用小马甲1" => "1076037453003153", + "录像专用小马甲2" => "1076036637436995", + "短短" => "1076032137020951", // "物理" => "2304133907143723", -// "亲亲奥利给 af" => "1005056070814923", - "FanCam_" => "1076032740158183", - "ParmyAU" => "1076032482381165", - "热舞托管站" => "1076037422251891", - "af尼美舞蹈" => "1076035639898367", - "傲娇的猫猫猫" => "1076033118852135", - "绅士甄选" => "1076037644465107", - "Win话事人" => "1076032439815352", - "粤上秋璃子" => "1076037747006685", - "腐团儿" => "1076032304291523", - "聂小雨" => "1076032579189065", - "小何同学" => "1076032104580380", - "只有一个9521" => "1076037504338957", - "娜扎工作室" => "2304136001863056", - "刘教師特别授業" => "1076037686776705", - "Nana姐姐的微博" => "1076037764879728", - "小蓝蓝 plus" => "1076037409360499", - "露露" => "1076037731119705", - "小仓" => "1076036880826706", - "EstheticBody" => "1076036577888143", - "kyokyo" => "1076032591431197", - "softygirls" => "1076035040459465", - "是你的程儿" => "1076037607376925", - "Kokuhui" => "1076037504965364", - "川" => "1076037648703289", + // "亲亲奥利给 af" => "1005056070814923", + "FanCam_" => "1076032740158183", + "ParmyAU" => "1076032482381165", + "热舞托管站" => "1076037422251891", + "af尼美舞蹈" => "1076035639898367", + "傲娇的猫猫猫" => "1076033118852135", + "绅士甄选" => "1076037644465107", + "Win话事人" => "1076032439815352", + "粤上秋璃子" => "1076037747006685", + "腐团儿" => "1076032304291523", + "聂小雨" => "1076032579189065", + "小何同学" => "1076032104580380", + "只有一个9521" => "1076037504338957", + "娜扎工作室" => "2304136001863056", + "刘教師特别授業" => "1076037686776705", + "Nana姐姐的微博" => "1076037764879728", + "小蓝蓝 plus" => "1076037409360499", + "露露" => "1076037731119705", + "小仓" => "1076036880826706", + "EstheticBody" => "1076036577888143", + "kyokyo" => "1076032591431197", + "softygirls" => "1076035040459465", + "是你的程儿" => "1076037607376925", + "Kokuhui" => "1076037687861062", + "川" => "1076037648703289", // "小红帽舞托" => "2304137160189611", - "李一桐工作室" => "1076035973698579", - "李一桐" => "1076035372556014", - "Yukicai-" => "1076031035321575", - "知一呐" => "1076037458616069", - "潇骑校尉曹操" => "1076037040041221", - "yesyanbaby" => "1076035279748872", - "EmotionalModels" => "1076035832381343", - "Favoriter1" => "1076036577888143", - "_hh0neyy_" => "1076033887046428" - // "娜扎工作室" => "2304136001863056_-_WEIBO_SECOND_PROFILE_WEIBO", + "李一桐工作室" => "1076035973698579", + "李一桐" => "1076035372556014", + "Yukicai-" => "1076031035321575", + "知一呐" => "1076037458616069", + "潇骑校尉曹操" => "1076037040041221", + "yesyanbaby" => "1076035279748872", + "EmotionalModels" => "1076035832381343", + "Favoriter1" => "1076036577888143", + "_hh0neyy_" => "1076033887046428", + "阿薰kaOri" => "1076036635655873", + "zatoichii" => "1076036488464342", + "肥胖小叶" => "1076036865284939", + "装甲D白兔" => "1076035557057192", + "阁楼上的猫吖" => "1076033028811321", + "贺稀饭吃馍" => "1076037557219457", + "青丘图鉴" => "1076036499814427", + "Moonquakesjm" => "1076032354737383", + "柒柒还活着4" => "1076037837187616", + "rita" => "1076032749401781", + "行嫂" => "1076037916030814", + "采花小强" => "1076033714280302", + "小宁" => "1076036052688342", + // "娜扎工作室" => "2304136001863056_-_WEIBO_SECOND_PROFILE_WEIBO", - ]; - } + ]; + } - public function moveLastDayCount() { - $lastDay = date("Y-m-d", strtotime("-1 days")); - $list = $this->weiboContainerIdList(); - foreach ($list as $key => $containerId) { - $value = Redis::connection()->get("weibo:count:{$lastDay}:{$containerId}"); - if ($value != null) { - echo "last day cache is $value \n"; - Redis::connection()->set("weibo:count:last:" . $containerId, $value); - Redis::connection()->del("weibo:count:{$lastDay}:{$containerId}"); - } - } + public function moveLastDayCount() { + $lastDay = date("Y-m-d", strtotime("-1 days")); + $list = $this->weiboContainerIdList(); + foreach ($list as $key => $containerId) { + $value = Redis::connection()->get("weibo:count:{$lastDay}:{$containerId}"); + if ($value != null) { + echo "last day cache is $value \n"; + Log::info("{$containerId} last day cache is $value"); + Redis::connection()->set("weibo:count:last:" . $containerId, $value); + Redis::connection()->del("weibo:count:{$lastDay}:{$containerId}"); + } + } - } + } - public function scrapeWeiboPicAndVideo($content) - { + public function scrapeWeiboPicAndVideo($content) { // if (!isset($_REQUEST['content'])) die('NoData'); -// -// $content = trim($_REQUEST['content']); - // echo $content;exit; - + // + // $content = trim($_REQUEST['content']); + // echo $content;exit; // @mkdir('data'); -// @mkdir('data/Kendall'); -// @mkdir('data/video'); -// $video_dir = "/Volumes/intel660p/video/weibo/ruye"; -// $image_dir = "/Volumes/intel660p/image/weibo/ruya"; -// $video_dir = "/Volumes/Samsung/weibo/people/徐圣佑/video"; -// $image_dir = "/Volumes/Samsung/weibo/people/徐圣佑/image"; + // @mkdir('data/Kendall'); + // @mkdir('data/video'); + // $video_dir = "/Volumes/intel660p/video/weibo/ruye"; + // $image_dir = "/Volumes/intel660p/image/weibo/ruya"; + // $video_dir = "/Volumes/Samsung/weibo/people/徐圣佑/video"; + // $image_dir = "/Volumes/Samsung/weibo/people/徐圣佑/image"; - $video_dir = "/Volumes/T7/Image/weibo/video/"; - $image_dir = "/Volumes/T7/Image/weibo/image/"; + $video_dir = "/Volumes/T7/Image/weibo/video/"; + $image_dir = "/Volumes/T7/Image/weibo/image/"; - try { - if (strlen($content) > 0) { - // $fname = 'data/' . microtime_float() . '.txt'; - // file_put_contents( $fname , $content ); - $decoded_json = json_decode($content, true); - $cards = $decoded_json['data']['cards']; - $cardListInfo = $decoded_json["data"]["cardlistInfo"]; - $nowCount = Arr::get($cardListInfo, "total", 0); - $containerId = Arr::get($cardListInfo, "containerid", ""); - if ($cardListInfo != null) { - $today = date("Y-m-d"); - $todayFirst = Redis::connection()->get("weibo:count:{$today}:{$containerId}"); - if ($todayFirst == null) { - Redis::connection()->setnx("weibo:count:{$today}:{$containerId}", $nowCount); - } - $lastCount = Redis::connection()->get("weibo:count:last:" . $containerId); - if ($lastCount == null) { - $lastCount = 0; - } - if ($nowCount < $lastCount + 10) { - Log::info("now count is {$nowCount} and lastCount is {$lastCount} skip"); - return ["skipContainerId"=> $containerId]; - } - } + try { + if (strlen($content) > 0) { + // $fname = 'data/' . microtime_float() . '.txt'; + // file_put_contents( $fname , $content ); + // if (strpos($content, "007GrijXly1hpjcp5qhuzj30u0190n4p") > 0) { + // Log::info("=====================it's here ================ " . $content); + // } + // exit; + $decoded_json = json_decode($content, true); +// Log::info("======== decoded_json: ==========" . $content); + if (array_key_exists("msg", $decoded_json)) { + Log::info("======== msg ===============" . $decoded_json["msg"]); + } + $cards = $decoded_json['data']['cards']; + if (array_key_exists("cardlistInfo", $decoded_json["data"]) && count($decoded_json["data"]["cardlistInfo"]) > 0) { + $cardListInfo = $decoded_json["data"]["cardlistInfo"]; + $nowCount = Arr::get($cardListInfo, "total", 0); + $containerId = Arr::get($cardListInfo, "containerid", ""); + Log::info("current has content"); + $today = date("Y-m-d"); + $todayFirst = Redis::connection()->get("weibo:count:{$today}:{$containerId}"); + if ($todayFirst == null) { + Redis::connection()->setnx("weibo:count:{$today}:{$containerId}", $nowCount); + } + $lastCount = Redis::connection()->get("weibo:count:last:" . $containerId); + if ($lastCount == null) { + $lastCount = 0; + } + if ($nowCount < $lastCount + 10) { + Log::info("now count is {$nowCount} and lastCount is {$lastCount} skip"); + return ["skipContainerId" => $containerId]; + } + } else if ($decoded_json["msg"] == "这里还没有内容") { + Log::info("current has no content"); + return ["emptyFlag" => true]; + } // $cards = array_slice($cards, 3, 1); - // Log::info(json_encode($cards));exit; - foreach ($cards as $card) { - if (!array_key_exists("mblog", $card)) { - continue; - } - $mblog = $card['mblog']; + // Log::info(json_encode($cards));exit; + foreach ($cards as $card) { + if (!array_key_exists("mblog", $card)) { + continue; + } + $mblog = $card['mblog']; // $subdir = "data/video"; -// if (!file_exists($subdir)) { -// mkdir($subdir); -// } - // echo json_encode($mblog); -// Log::info("mblog info: " . json_encode($mblog)); - if (array_key_exists("pics", $mblog)) { - Log::info("-------enter 1"); - $pics = $mblog['pics']; - $user = Arr::get($mblog, "user", []); - $text = Arr::get($mblog, "text", ''); + // if (!file_exists($subdir)) { + // mkdir($subdir); + // } + // echo json_encode($mblog); + // Log::info("mblog info: " . json_encode($mblog)); + if (array_key_exists("pics", $mblog)) { + Log::info("-------enter 1"); + $pics = $mblog['pics']; + $user = Arr::get($mblog, "user", []); + $text = Arr::get($mblog, "text", ''); // var_dump($pics); - self::process_pic($pics, $image_dir, $user, $text); - // foreach ($pics as $pic) { - // if (array_key_exists("large", $pic)) { - // $pic_url = $pic['large']['url']; - // $h2w = $pic['large']['geo']['height']/$pic['large']['geo']['width']; - // } else { - // $pic_url = $pic['url']; - // $h2w = $pic['geo']['height'] / $pic['geo']['width']; - // } - // if ($h2w > 15) { - // continue; - // } - // $pic_name = pathinfo($pic_url, PATHINFO_FILENAME); - // $pic_ext = pathinfo($pic_url, PATHINFO_EXTENSION); - // $file_name = $subdir . "/" . $pic_name . "." . $pic_ext; - // if (!file_exists($file_name)) { - // $pic_content = file_get_contents($pic_url); - // // echo $pic_content; - // file_put_contents($file_name, $pic_content); - // } - // } - } else if (array_key_exists("retweeted_status", $mblog)) { - Log::info("-------enter 2"); - if (array_key_exists("pics", $mblog["retweeted_status"])) { - $pics = $mblog["retweeted_status"]['pics']; - # code... - $user = Arr::get($mblog["retweeted_status"], "user", []); - $text = Arr::get($mblog["retweeted_status"], "text", ''); - self::process_pic($pics, $image_dir, $user, $text); - } - # code... - } else if (array_key_exists("page_info", $mblog) && array_key_exists("media_info", $mblog["page_info"])) { - # code... - Log::info("-------enter 3"); + self::process_pic($pics, $image_dir, $user, $text); + // foreach ($pics as $pic) { + // if (array_key_exists("large", $pic)) { + // $pic_url = $pic['large']['url']; + // $h2w = $pic['large']['geo']['height']/$pic['large']['geo']['width']; + // } else { + // $pic_url = $pic['url']; + // $h2w = $pic['geo']['height'] / $pic['geo']['width']; + // } + // if ($h2w > 15) { + // continue; + // } + // $pic_name = pathinfo($pic_url, PATHINFO_FILENAME); + // $pic_ext = pathinfo($pic_url, PATHINFO_EXTENSION); + // $file_name = $subdir . "/" . $pic_name . "." . $pic_ext; + // if (!file_exists($file_name)) { + // $pic_content = file_get_contents($pic_url); + // // echo $pic_content; + // file_put_contents($file_name, $pic_content); + // } + // } + } else if (array_key_exists("retweeted_status", $mblog)) { + Log::info("-------enter 2"); + if (array_key_exists("pics", $mblog["retweeted_status"])) { + $pics = $mblog["retweeted_status"]['pics']; + # code... + $user = Arr::get($mblog["retweeted_status"], "user", []); + $text = Arr::get($mblog["retweeted_status"], "text", ''); + self::process_pic($pics, $image_dir, $user, $text); + } + # code... + } else if (array_key_exists("page_info", $mblog) && array_key_exists("media_info", $mblog["page_info"])) { + # code... + Log::info("-------enter 3"); // Log::info("page_info: ". json_encode($mblog["page_info"])); - $page_info = $mblog["page_info"]; - $media_info = $mblog["page_info"]["media_info"]; - $medis_urls = $mblog["page_info"]["urls"]; - $video_url = Arr::get($medis_urls, "mp4_720p_mp4", ""); - Log::info("video_urls: " . $video_url); - if ($video_url == "") { - $video_url = Arr::get($medis_urls, "mp4_hd_url", ""); - } - if ($video_url == "") { - $video_url = Arr::get($medis_urls, "mp4_ld_mp4", ""); - } - if ($video_url != "") { - self::process_video($video_url, $video_dir, $page_info["content2"]); - } - } - } + // Log::info("-------replaced ", str_replace("\u{FF1F}","", $mblog["page_info"])); + $page_info = str_replace("\u{FF1F}", "", $mblog["page_info"]); + $media_info = $mblog["page_info"]["media_info"]; + $medis_urls = $mblog["page_info"]["urls"]; + $video_url = Arr::get($medis_urls, "mp4_720p_mp4", ""); + Log::info("video_urls: " . $video_url); + if ($video_url == "") { + $video_url = Arr::get($medis_urls, "mp4_hd_url", ""); + } + if ($video_url == "") { + $video_url = Arr::get($medis_urls, "mp4_ld_mp4", ""); + } + if ($video_url != "") { + self::process_video($video_url, $video_dir, $page_info["content2"]); + } + } + } - // die('save to ' . $fname . ' url = ' . $_REQUEST['url'] ); - } else { - die('empty'); - } - } catch (\Exception $e) { - Log::error($e); - Log::error($e->getTraceAsString()); + // die('save to ' . $fname . ' url = ' . $_REQUEST['url'] ); + } else { + die('empty'); + } + } catch (\Exception $e) { + Log::error($e); + Log::error($e->getTraceAsString()); // Log::info($content); - } - return true; - } + } + return true; + } - public function scrapeGroupWeiboPicAndVideo($content) - { - // $video_dir = "/Volumes/Samsung/weibo/video"; - // $image_dir = "/Volumes/Samsung/weibo/image"; - $video_dir = "/Volumes/Crucial X6/Image/weibo/video/"; - $image_dir = "/Volumes/Crucial X6/Image/weibo/image/"; + public function scrapeGroupWeiboPicAndVideo($content) { + // $video_dir = "/Volumes/Samsung/weibo/video"; + // $image_dir = "/Volumes/Samsung/weibo/image"; + $video_dir = "/Volumes/Crucial X6/Image/weibo/video/"; + $image_dir = "/Volumes/Crucial X6/Image/weibo/image/"; - try { - if (strlen($content) > 0) { - // $fname = 'data/' . microtime_float() . '.txt'; - // file_put_contents( $fname , $content ); - $decoded_json = json_decode($content, true); - $cards = $decoded_json['data']['statuses']; - foreach ($cards as $card) { + try { + if (strlen($content) > 0) { + // $fname = 'data/' . microtime_float() . '.txt'; + // file_put_contents( $fname , $content ); + $decoded_json = json_decode($content, true); + $cards = $decoded_json['data']['statuses']; + foreach ($cards as $card) { // if (!array_key_exists("mblog", $card)) { -// continue; -// } - $mblog = $card; - $subdir = "data/video"; - if (!file_exists($subdir)) { - mkdir($subdir); - } - echo json_encode($mblog); - if (array_key_exists("pics", $mblog)) { - $pics = $mblog['pics']; - $user = Arr::get($mblog, "user", []); - $text = Arr::get($mblog, "text", ''); - var_dump($pics); - self::process_pic($pics, $image_dir, $user, $text); - // foreach ($pics as $pic) { - // if (array_key_exists("large", $pic)) { - // $pic_url = $pic['large']['url']; - // $h2w = $pic['large']['geo']['height']/$pic['large']['geo']['width']; - // } else { - // $pic_url = $pic['url']; - // $h2w = $pic['geo']['height'] / $pic['geo']['width']; - // } - // if ($h2w > 15) { - // continue; - // } - // $pic_name = pathinfo($pic_url, PATHINFO_FILENAME); - // $pic_ext = pathinfo($pic_url, PATHINFO_EXTENSION); - // $file_name = $subdir . "/" . $pic_name . "." . $pic_ext; - // if (!file_exists($file_name)) { - // $pic_content = file_get_contents($pic_url); - // // echo $pic_content; - // file_put_contents($file_name, $pic_content); - // } - // } - } else if (array_key_exists("retweeted_status", $mblog)) { - if (array_key_exists("pics", $mblog["retweeted_status"])) { - $pics = $mblog["retweeted_status"]['pics']; - # code... - $user = Arr::get($mblog["retweeted_status"], "user", []); - $text = Arr::get($mblog["retweeted_status"], "text", ''); - self::process_pic($pics, $image_dir, $user, $text); - } - # code... - } else if (array_key_exists("page_info", $mblog) && array_key_exists("media_info", $mblog["page_info"])) { - # code... - $page_info = $mblog["page_info"]; - $media_info = $mblog["page_info"]["media_info"]; - $video_url = Arr::get($media_info, "mp4_720p_mp4", ""); - if ($video_url == "") { - $video_url = Arr::get($media_info, "mp4_hd_url", ""); - } - if ($video_url == "") { - $video_url = Arr::get($media_info, "mp4_sd_url", ""); - } - if ($video_url != "") { - self::process_video($video_url, $video_dir, $page_info["content2"]); - } - } - } + // continue; + // } + $mblog = $card; + $subdir = "data/video"; + if (!file_exists($subdir)) { + mkdir($subdir); + } + echo json_encode($mblog); + if (array_key_exists("pics", $mblog)) { + $pics = $mblog['pics']; + $user = Arr::get($mblog, "user", []); + $text = Arr::get($mblog, "text", ''); + var_dump($pics); + self::process_pic($pics, $image_dir, $user, $text); + // foreach ($pics as $pic) { + // if (array_key_exists("large", $pic)) { + // $pic_url = $pic['large']['url']; + // $h2w = $pic['large']['geo']['height']/$pic['large']['geo']['width']; + // } else { + // $pic_url = $pic['url']; + // $h2w = $pic['geo']['height'] / $pic['geo']['width']; + // } + // if ($h2w > 15) { + // continue; + // } + // $pic_name = pathinfo($pic_url, PATHINFO_FILENAME); + // $pic_ext = pathinfo($pic_url, PATHINFO_EXTENSION); + // $file_name = $subdir . "/" . $pic_name . "." . $pic_ext; + // if (!file_exists($file_name)) { + // $pic_content = file_get_contents($pic_url); + // // echo $pic_content; + // file_put_contents($file_name, $pic_content); + // } + // } + } else if (array_key_exists("retweeted_status", $mblog)) { + if (array_key_exists("pics", $mblog["retweeted_status"])) { + $pics = $mblog["retweeted_status"]['pics']; + # code... + $user = Arr::get($mblog["retweeted_status"], "user", []); + $text = Arr::get($mblog["retweeted_status"], "text", ''); + self::process_pic($pics, $image_dir, $user, $text); + } + # code... + } else if (array_key_exists("page_info", $mblog) && array_key_exists("media_info", $mblog["page_info"])) { + # code... + $page_info = $mblog["page_info"]; + $media_info = $mblog["page_info"]["media_info"]; + $video_url = Arr::get($media_info, "mp4_720p_mp4", ""); + if ($video_url == "") { + $video_url = Arr::get($media_info, "mp4_hd_url", ""); + } + if ($video_url == "") { + $video_url = Arr::get($media_info, "mp4_sd_url", ""); + } + if ($video_url != "") { + self::process_video($video_url, $video_dir, $page_info["content2"]); + } + } + } - // die('save to ' . $fname . ' url = ' . $_REQUEST['url'] ); - } else { - die('empty'); - } - } catch (\Exception $e) { - Log::error($e); - Log::error($e->getTraceAsString()); + // die('save to ' . $fname . ' url = ' . $_REQUEST['url'] ); + } else { + die('empty'); + } + } catch (\Exception $e) { + Log::error($e); + Log::error($e->getTraceAsString()); // Log::info($content); - } - return true; - } - + } + return true; + } - function microtime_float() - { - list($usec, $sec) = explode(" ", microtime()); - return ((float)$usec + (float)$sec); - } + function microtime_float() { + list($usec, $sec) = explode(" ", microtime()); + return ((float) $usec + (float) $sec); + } - function process_pic($pics, $subDir, $user, $text) - { - if (!file_exists($subDir)) { - mkdir($subDir); - } - $h2w = 0; - foreach ($pics as $pic) { - if (array_key_exists("large", $pic)) { - $pic_url = $pic['large']['url']; - if (gettype($pic["large"]["geo"]) == "array") { - $h2w = $pic['large']['geo']['height'] / $pic['large']['geo']['width']; - } - } else { - $pic_url = $pic['url']; - if (gettype($pic["geo"]) == "array") { - $h2w = $pic['geo']['height'] / $pic['geo']['width']; - } - } - if ($h2w > 15) { - continue; - } - $picName = pathinfo($pic_url, PATHINFO_FILENAME); - $picExt = pathinfo($pic_url, PATHINFO_EXTENSION); - $user_name = Arr::get($user, "screen_name", ''); - if ($user_name != '') { - $picName = $user_name . '--' .$picName; - } - $file_name = $subDir . DIRECTORY_SEPARATOR . $picName . "." . $picExt; - $baseName = $picName . "." . $picExt; - if (!str_contains($baseName, "KID=imgbed,photo&") && !file_exists($file_name) && !$this->checkFileHasDownload($baseName)) { - try { - $pic_content = $this->downloadImg($pic_url);// echo $pic_content; - file_put_contents($file_name, $pic_content); - $this->files[] = $baseName; - } catch (Throwable $e) { - Log::error($e->getMessage()); - } - } else { - Log::info("$baseName file exists or contains KID"); - } - } - } + function process_pic($pics, $subDir, $user, $text) { + if (!file_exists($subDir)) { + mkdir($subDir); + } + $h2w = 0; + foreach ($pics as $pic) { + if (array_key_exists("large", $pic)) { + $pic_url = $pic['large']['url']; + if (gettype($pic["large"]["geo"]) == "array") { + $h2w = $pic['large']['geo']['height'] / $pic['large']['geo']['width']; + } + } else { + $pic_url = $pic['url']; + if (gettype($pic["geo"]) == "array") { + $h2w = $pic['geo']['height'] / $pic['geo']['width']; + } + } + if ($h2w > 15) { + continue; + } + $picName = pathinfo($pic_url, PATHINFO_FILENAME); + $picExt = pathinfo($pic_url, PATHINFO_EXTENSION); + $user_name = Arr::get($user, "screen_name", ''); + if ($user_name != '') { + $picName = $user_name . '--' . $picName; + } + $file_name = $subDir . DIRECTORY_SEPARATOR . $picName . "." . $picExt; + $baseName = $picName . "." . $picExt; + if (!str_contains($baseName, "KID=imgbed,photo&") && !file_exists($file_name) && !$this->checkFileHasDownload($baseName)) { + try { + $pic_content = $this->downloadImg($pic_url); // echo $pic_content; + file_put_contents($file_name, $pic_content); + $this->files[] = $baseName; + } catch (Throwable $e) { + Log::error($e->getMessage()); + } + } else { + Log::info("$baseName file exists or contains KID"); + } + } + } - public function downloadImg($url) - { - $urlInfo = parse_url($url); - $host = $urlInfo["host"]; - $client = new Client(); - $headers = [ - 'authority' => $host, - 'accept' => 'image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8', - 'accept-language' => 'zh-CN,zh;q=0.9', - 'cache-control' => 'no-cache', - 'pragma' => 'no-cache', - 'referer' => 'https://m.weibo.cn/', - 'sec-ch-ua' => '"Google Chrome";v="111", "Not(A:Brand";v="8", "Chromium";v="111"', - 'sec-ch-ua-mobile' => '?0', - 'sec-ch-ua-platform' => '"macOS"', - 'sec-fetch-dest' => 'image', - 'sec-fetch-mode' => 'no-cors', - 'sec-fetch-site' => 'cross-site', - 'user-agent' => 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36' - ]; - $request = new Request('GET', $url, $headers); - $res = $client->sendAsync($request)->wait(); - return $res->getBody(); - } + public function downloadImg($url) { + $urlInfo = parse_url($url); + $host = $urlInfo["host"]; + $client = new Client(); + $headers = [ + 'authority' => $host, + 'accept' => 'image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8', + 'accept-language' => 'zh-CN,zh;q=0.9', + 'cache-control' => 'no-cache', + 'pragma' => 'no-cache', + 'referer' => 'https://m.weibo.cn/', + 'sec-ch-ua' => '"Google Chrome";v="111", "Not(A:Brand";v="8", "Chromium";v="111"', + 'sec-ch-ua-mobile' => '?0', + 'sec-ch-ua-platform' => '"macOS"', + 'sec-fetch-dest' => 'image', + 'sec-fetch-mode' => 'no-cors', + 'sec-fetch-site' => 'cross-site', + 'user-agent' => 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36', + ]; + $request = new Request('GET', $url, $headers); + $res = $client->sendAsync($request)->wait(); + return $res->getBody(); + } - function process_video($video_url, $subdir, $video_name) - { - Log::info("video_url: " . $video_url); - if (!file_exists($subdir)) { - mkdir($subdir); - } - $url_params = parse_url($video_url); - parse_str($url_params["query"], $params); - $video_origin_name = $url_params["path"]; - $video_origin_name = substr($video_origin_name, 1); - $video_origin_name = str_replace("stream/", "--", $video_origin_name); - $video_origin_name = str_replace("/", "", $video_origin_name); - $video_name = preg_replace("/(http|https|ftp)(.)*([a-z0-9\-\.\_])+/i", "", $video_name); - $video_name = str_replace("/", "", $video_name); - $now = strtotime(date("y-m-d h:i:s")); - if ($now > $params['Expires']) { - Log::error("视频有效期已过,now is " . $now .", Expires is ". $params['Expires']); - abort(404); - } + function process_video($video_url, $subdir, $video_name) { + Log::info("video_url: " . $video_url . " and video name is : " . $video_name); + if (!file_exists($subdir)) { + mkdir($subdir); + } + $url_params = parse_url($video_url); + parse_str($url_params["query"], $params); + $video_origin_name = $url_params["path"]; + $video_origin_name = substr($video_origin_name, 1); + $video_origin_name = str_replace("stream/", "--", $video_origin_name); + $video_origin_name = str_replace("/", "", $video_origin_name); + $video_name = preg_replace("/(http|https|ftp)(.)*([a-z0-9\-\.\_])+/i", "", $video_name); + $video_name = str_replace("/", "", $video_name); + $now = strtotime(date("y-m-d h:i:s")); + if ($now > $params['Expires']) { + Log::error("视频有效期已过,now is " . $now . ", Expires is " . $params['Expires']); + abort(404); + } // $video_origin_name = pathinfo($video_url, PATHINFO_FILENAME); -// $video_ext = pathinfo($video_url, PATHINFO_EXTENSION); - $file_name = $subdir . "/" . $video_name . "--" . $video_origin_name; - $baseName = $video_name . "--" . $video_origin_name; - if (!file_exists($file_name) && !$this->checkFileHasDownload($baseName)) { - # code... - $video_content = file_get_contents($video_url); - file_put_contents($file_name, $video_content); - $this->files[] = $baseName; - } else { - Log::info("$baseName file exists"); - } - } - - private function checkFileHasDownload($fileName) - { - if (in_array($fileName, $this->files)) { - Log::info("$fileName exist in local files"); - return true; - } - $record = ImageRecord::where("name", $fileName)->first(); - if ($record != null) { - Log::info("$fileName exist in db"); - return true; - } - } + // $video_ext = pathinfo($video_url, PATHINFO_EXTENSION); + $file_name = $subdir . "/" . $video_name . "--" . $video_origin_name; + $baseName = $video_name . "--" . $video_origin_name; + if (!file_exists($file_name) && !$this->checkFileHasDownload($baseName)) { + # code... + $video_content = file_get_contents($video_url); + file_put_contents($file_name, $video_content); + $this->files[] = $baseName; + } else { + Log::info("$baseName file exists"); + } + } - public function scrapeWeiboComments($content) { + private function checkFileHasDownload($fileName) { + if (in_array($fileName, $this->files)) { + Log::info("$fileName exist in local files"); + return true; + } + $record = ImageRecord::where("name", $fileName)->first(); + if ($record != null) { + Log::info("$fileName exist in db"); + return true; + } + } - } + public function scrapeWeiboComments($content) { + } } diff --git a/fail.log b/fail.log index 5dd7439..97fb926 100644 --- a/fail.log +++ b/fail.log @@ -2887,3 +2887,122 @@ /Users/shixuesen/OneDrive/Pictures/instagram/Likes_new/ https://scontent-fml20-1.cdninstagram.com/v/t51.2885-15/416091852_235399572837964_953857386239466969_n.jpg?stp=dst-jpg_e35&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xNDQweDE0NDAuc2RyIn0&_nc_ht=scontent-fml20-1.cdninstagram.com&_nc_cat=104&_nc_ohc=7uhSCuDK6SAAX-yNtiQ&edm=AJ9x6zYBAAAA&ccb=7-5&ig_cache_key=MzI3MTI3OTMwOTk0Mzc0MTU0MQ%3D%3D.2-ccb7-5&oh=00_AfC5SaeOCIC_-HxM9xkxc7NCz8CoKR83HWhonTL38-ggtA&oe=659D186B&_nc_sid=65462d /Users/shixuesen/OneDrive/Pictures/instagram/limerencem_/ https://scontent-ord5-2.cdninstagram.com/v/t39.30808-6/417182554_18073667731443902_5731145330738614970_n.jpg?stp=dst-jpg_e15&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xNDQweDE4MDAuc2RyIn0&_nc_ht=scontent-ord5-2.cdninstagram.com&_nc_cat=102&_nc_ohc=7B6CSSliy8IAX8Fuwf2&edm=ABmJApAAAAAA&ccb=7-5&ig_cache_key=MzI3Mjk1MzUzMzQ0Mzc5OTE5Mg%3D%3D.2-ccb7-5&oh=00_AfAGrQL2qTbN1MZJ4aTJPuU1BwEvn3ln3Q920Ugr2PNZcA&oe=65A13E8A&_nc_sid=b41fef /Users/shixuesen/OneDrive/Pictures/instagram/Likes_new/ https://scontent-ord5-2.cdninstagram.com/v/t51.2885-15/417892420_1141651290337951_5404929483417006264_n.jpg?stp=dst-jpg_e35&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xNDQweDE3OTkuc2RyIn0&_nc_ht=scontent-ord5-2.cdninstagram.com&_nc_cat=107&_nc_ohc=zjABKgwzOX0AX_HjldK&edm=AJ9x6zYBAAAA&ccb=7-5&ig_cache_key=MzI3NTEzMzg1NjE4NDUzNTk1NQ%3D%3D.2-ccb7-5&oh=00_AfDRq5H4XGNHkmC2y4rGM0US-jWxyr0AhgU_HJ10FTFmfw&oe=65A1B2DF&_nc_sid=65462d +/Users/shixuesen/OneDrive/Pictures/instagram/naughty_rabbit_/ https://scontent-lga3-2.cdninstagram.com/v/t51.2885-15/417139629_705844201618085_9155708824434063655_n.jpg?stp=dst-jpg_e35&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xNDQweDE3OTYuc2RyIn0&_nc_ht=scontent-lga3-2.cdninstagram.com&_nc_cat=105&_nc_ohc=nRpkkRAQUpMAX-J4AtT&edm=ABmJApABAAAA&ccb=7-5&ig_cache_key=MzI3NTYxNTU4NDYzMTM1ODM4Nw%3D%3D.2-ccb7-5&oh=00_AfAO3Qb5iLvMtZaxW5_8djmyOhBtTv6kHCBivr0mJzihuw&oe=65AFE742&_nc_sid=b41fef +/Users/shixuesen/OneDrive/Pictures/instagram/Likes_new/ https://scontent-lga3-2.cdninstagram.com/v/t51.2885-15/419086194_359423583481471_1918722652125244370_n.jpg?stp=dst-jpg_e15&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi43MjB4OTAwLnNkciJ9&_nc_ht=scontent-lga3-2.cdninstagram.com&_nc_cat=107&_nc_ohc=P5gaUQxawI8AX84ZUxQ&edm=AJ9x6zYBAAAA&ccb=7-5&ig_cache_key=MzI4MDg0Njg5NzkzMzg2NDE3OA%3D%3D.2-ccb7-5&oh=00_AfBqZC66nPIrvEcSprv2C3k9vTCbKWirEq3EnB1JRykIvQ&oe=65AF389D&_nc_sid=65462d +/Users/shixuesen/OneDrive/Pictures/instagram/Likes_new/ https://scontent-lga3-2.cdninstagram.com/v/t51.2885-15/419025092_928182488966561_8964792745084900214_n.jpg?stp=dst-jpg_e35&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi44MDB4MTAwMC5zZHIifQ&_nc_ht=scontent-lga3-2.cdninstagram.com&_nc_cat=105&_nc_ohc=cI2tsGS9eUYAX8Gafe5&edm=AJ9x6zYBAAAA&ccb=7-5&ig_cache_key=MzI4MTAzOTM0OTUxOTk0OTAwNQ%3D%3D.2-ccb7-5&oh=00_AfBoF6Do5DE8b9ctSF-NmmuMJCtCdjDLcwcsMvD00zhYFw&oe=65AF9B43&_nc_sid=65462d +/Users/shixuesen/OneDrive/Pictures/instagram/7alice77/ https://scontent-ord5-2.cdninstagram.com/v/t51.2885-15/418604458_799678972204107_3880276618048892296_n.jpg?stp=dst-jpg_e35&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xNDQweDE4MDAuc2RyIn0&_nc_ht=scontent-ord5-2.cdninstagram.com&_nc_cat=103&_nc_ohc=DQYxvsGZiE8AX99ANmq&edm=ABmJApABAAAA&ccb=7-5&ig_cache_key=MzI3NjMyMjMwMjIwNjgzMjA3MQ%3D%3D.2-ccb7-5&oh=00_AfD1gxrjqJqJySrVtha7B173Em-Ze7a9WS0s2nqWRhW-eA&oe=65B25469&_nc_sid=b41fef +/Users/shixuesen/OneDrive/Pictures/instagram/sharalinmusic/ https://scontent-ord5-2.cdninstagram.com/o1/v/t16/f1/m69/GICWmAC8RveZnjABAIE6A6ln4041bpR1AAAF.mp4?efg=eyJxZV9ncm91cHMiOiJbXCJpZ193ZWJfZGVsaXZlcnlfdnRzX290ZlwiXSIsInZlbmNvZGVfdGFnIjoidnRzX3ZvZF91cmxnZW4uY2xpcHMuYzIuMTA4MC5oaWdoIn0&_nc_ht=scontent-ord5-2.cdninstagram.com&_nc_cat=107&vs=693761079522352_182011170&_nc_vs=HBksFQIYOnBhc3N0aHJvdWdoX2V2ZXJzdG9yZS9HSUNXbUFDOFJ2ZVpuakFCQUlFNkE2bG40MDQxYnBSMUFBQUYVAALIAQAVAhg6cGFzc3Rocm91Z2hfZXZlcnN0b3JlL0dJa2taUUxyRk8weFp0NERBQUNyUmZaMG9BNVZicFIxQUFBRhUCAsgBACgAGAAbABUAACag2%2BmDkLj%2BPxUCKAJDMywXQEPmZmZmZmYYEmRhc2hfaGlnaF8xMDgwcF92MREAdf4HAA%3D%3D&ccb=9-4&oh=00_AfD3f9_ao2Sm7NF1Uwlpda-MmbEiYCzMCAhM3NWFrxgxUQ&oe=65B0016B&_nc_sid=b41fef +/Users/shixuesen/OneDrive/Pictures/instagram/Likes_new/ https://scontent-ord5-2.cdninstagram.com/v/t51.2885-15/419868451_909015660895985_5943679591870327986_n.jpg?stp=dst-jpg_e35&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xNDQweDE4MDAuc2RyIn0&_nc_ht=scontent-ord5-2.cdninstagram.com&_nc_cat=105&_nc_ohc=SBCaLGb43b0AX8ayN6Q&edm=AJ9x6zYBAAAA&ccb=7-5&ig_cache_key=MzI4NDI1NTY0MDU2MDQ0MzA3OQ%3D%3D.2-ccb7-5&oh=00_AfALWe0BrjZzTu98yivZURtGjsX86LGvXBhV6N5Uo2y75Q&oe=65B2A741&_nc_sid=65462d +/Users/shixuesen/OneDrive/Pictures/instagram/Likes_new/ https://scontent-ord5-2.cdninstagram.com/v/t51.2885-15/419902642_613308600929227_166590201569310112_n.jpg?stp=dst-jpg_e35&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xNDQweDE4MDAuc2RyIn0&_nc_ht=scontent-ord5-2.cdninstagram.com&_nc_cat=107&_nc_ohc=7JiHJJ6TbDsAX8s2JXy&edm=AJ9x6zYBAAAA&ccb=7-5&ig_cache_key=MzI4NDI1NTY0MDU2MDU3OTc3NQ%3D%3D.2-ccb7-5&oh=00_AfBeHUgT0MXl4moTNFchX5sgtEiudMmg3ZjJTeX60Jl8kg&oe=65B24FA2&_nc_sid=65462d +/Users/shixuesen/OneDrive/Pictures/instagram/Likes_new/ https://scontent-ord5-1.cdninstagram.com/v/t51.2885-15/419314830_291568470199439_3530309654600909817_n.jpg?stp=dst-jpg_e35&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xNDQweDE4MDAuc2RyIn0&_nc_ht=scontent-ord5-1.cdninstagram.com&_nc_cat=111&_nc_ohc=48wcEKyp1OMAX9Pform&edm=AJ9x6zYBAAAA&ccb=7-5&ig_cache_key=MzI4MjkzODc4NDE4NTE0NDY1OQ%3D%3D.2-ccb7-5&oh=00_AfAly43TFPYYtoi8vrX36vhQJ6eH4VrKs94w0NTwB3YLng&oe=65B25EE4&_nc_sid=65462d +/Users/shixuesen/OneDrive/Pictures/instagram/m.hakase/ https://scontent-ord5-1.cdninstagram.com/v/t39.30808-6/420651762_18404299825024868_7269311753221735697_n.jpg?stp=dst-jpg_e15&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xNDQweDEwMjcuc2RyIn0&_nc_ht=scontent-ord5-1.cdninstagram.com&_nc_cat=108&_nc_ohc=IogeaY626JIAX-sYBLE&edm=ABmJApAAAAAA&ccb=7-5&ig_cache_key=MzI4NDE5NDc0MTI5ODE5MDUxMQ%3D%3D.2-ccb7-5&oh=00_AfClSgnKGlNdsqdIIBXcqHIZEm9h1Y1hVQxTz_rj7NnAsQ&oe=65B2B992&_nc_sid=b41fef +/Users/shixuesen/OneDrive/Pictures/instagram/Likes_new/ https://scontent-ord5-1.cdninstagram.com/v/t51.2885-15/419914010_2220147008320103_5141446686810859427_n.jpg?stp=dst-jpg_e35&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xNDQweDk1OS5zZHIifQ&_nc_ht=scontent-ord5-1.cdninstagram.com&_nc_cat=111&_nc_ohc=k68NowWJPwwAX9GGQYq&edm=AJ9x6zYBAAAA&ccb=7-5&ig_cache_key=MzI4NDY4ODU0NDQxNzMxMzQ2OQ%3D%3D.2-ccb7-5&oh=00_AfBErLxTY3kLgLruTdP-QYkGLBE6v6kITVW6rWYjjmjDoA&oe=65B1B1E0&_nc_sid=65462d +/Users/shixuesen/OneDrive/Pictures/instagram/beargenie/ https://scontent-ord5-2.cdninstagram.com/v/t51.2885-15/416103749_1083249049528191_3862193881413034105_n.jpg?stp=dst-jpg_e35&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xNDQweDE4MDAuc2RyIn0&_nc_ht=scontent-ord5-2.cdninstagram.com&_nc_cat=103&_nc_ohc=SBlBgOr2Vp4AX9MLV9C&edm=ABmJApABAAAA&ccb=7-5&ig_cache_key=MzI3Mjg1NTM3NTYyMzk4NTU2OQ%3D%3D.2-ccb7-5&oh=00_AfCcTL-_U0NcZJk5I4LfRyG_4E-VHWwMtBrF5i2OZhjKtA&oe=65B2BA81&_nc_sid=b41fef +/Users/shixuesen/OneDrive/Pictures/instagram/imjennycheng/ https://scontent-ord5-2.cdninstagram.com/v/t51.2885-15/420173024_762568638590852_4774885072891044917_n.jpg?stp=dst-jpg_e35&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xNDQweDE3OTkuc2RyIn0&_nc_ht=scontent-ord5-2.cdninstagram.com&_nc_cat=108&_nc_ohc=hSkfvDMpjvgAX9DVA3c&edm=ABmJApABAAAA&ccb=7-5&ig_cache_key=MzI4NTEzNzU0OTQ3NTQ0OTA1OQ%3D%3D.2-ccb7-5&oh=00_AfDQTZG2G3Kh4HTTu5U2n0hci05rkbX7yqzlaau3qQcNOg&oe=65B8133B&_nc_sid=b41fef +/Users/shixuesen/OneDrive/Pictures/instagram/Likes_new/ https://scontent-ord5-2.cdninstagram.com/v/t51.2885-15/420035535_1131793271145639_1098242239071468398_n.jpg?stp=dst-jpg_e35&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xNDQweDE4MDAuc2RyIn0&_nc_ht=scontent-ord5-2.cdninstagram.com&_nc_cat=103&_nc_ohc=YcUdhIFfk4QAX-OO--6&edm=AJ9x6zYBAAAA&ccb=7-5&ig_cache_key=MzI4NTcyMzgyOTQ0NjIzNjU0NA%3D%3D.2-ccb7-5&oh=00_AfCrCm2CvXC3geKEEXmpdkx0Vj_U5qHxrgyP8Tgcqkz6aw&oe=65B686E3&_nc_sid=65462d +/Users/shixuesen/OneDrive/Pictures/instagram/Likes_new/ https://scontent-ord5-2.cdninstagram.com/v/t51.2885-15/420527981_1039300070464944_7670027288551058410_n.jpg?stp=dst-jpg_e35&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xNDQweDE4MDAuc2RyIn0&_nc_ht=scontent-ord5-2.cdninstagram.com&_nc_cat=100&_nc_ohc=1VPlXzFt32sAX_PkPdo&edm=AJ9x6zYBAAAA&ccb=7-5&ig_cache_key=MzI4NDk4MzI3Mzg4MDM1ODIyOA%3D%3D.2-ccb7-5&oh=00_AfAXkhPRjBgBA8SeC6ddmY4qrqPdxStLmuBBBiZ4ACyL1A&oe=65B85902&_nc_sid=65462d +/Users/shixuesen/OneDrive/Pictures/instagram/Likes_new/ https://scontent-lga3-2.cdninstagram.com/v/t51.2885-15/422448215_343730841862152_415202765325611851_n.jpg?stp=dst-jpg_e35&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xNDQweDE4MDAuc2RyIn0&_nc_ht=scontent-lga3-2.cdninstagram.com&_nc_cat=100&_nc_ohc=V--zi9CSNzoAX-DlF42&edm=AJ9x6zYBAAAA&ccb=7-5&ig_cache_key=MzI4OTQ5NzUyOTYzOTM0OTY0MA%3D%3D.2-ccb7-5&oh=00_AfCslte1uFt5GXCEPzvUReHEo8f3P5oL6IL4vyacPheCdw&oe=65BFD029&_nc_sid=65462d +/Users/shixuesen/OneDrive/Pictures/instagram/Likes_new/ https://scontent-lga3-2.cdninstagram.com/v/t51.2885-15/422071969_374372941866138_3449689255778894285_n.jpg?stp=dst-jpg_e35&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xNDQweDE4MDAuc2RyIn0&_nc_ht=scontent-lga3-2.cdninstagram.com&_nc_cat=106&_nc_ohc=lKIKBi9iDEgAX9HzwQB&edm=AJ9x6zYBAAAA&ccb=7-5&ig_cache_key=MzI4ODgwNzIzMTE5Nzc0MTYyOA%3D%3D.2-ccb7-5&oh=00_AfBtQHXgFzDu7pdyLuexhrt24X38LLC0yy8QfOhUwazNiQ&oe=65BE5CAF&_nc_sid=65462d +/Users/shixuesen/OneDrive/Pictures/instagram/Likes_new/ https://scontent-lga3-2.cdninstagram.com/v/t51.2885-15/423274590_920035249577815_5034441318784310166_n.jpg?stp=dst-jpegr_e35&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xNDQweDE3OTkuaGRyIn0&_nc_ht=scontent-lga3-2.cdninstagram.com&_nc_cat=107&_nc_ohc=2xZwAujhEdsAX8zmzfl&edm=AJ9x6zYBAAAA&ccb=7-5&ig_cache_key=MzI5MDk0NDI2OTI1ODEzNzk4Nw%3D%3D.2-ccb7-5&oh=00_AfDkpE_w5OGwQHA5PSwXSLrGaZIVZawTuki5XU3i79B5OQ&oe=65BFA04D&_nc_sid=65462d +/Users/shixuesen/OneDrive/Pictures/instagram/Likes_new/ https://scontent-lga3-2.cdninstagram.com/v/t39.30808-6/422233371_18414759481028661_3832840593868542490_n.jpg?stp=dst-jpg_e15&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xNDQweDE4MDAuc2RyIn0&_nc_ht=scontent-lga3-2.cdninstagram.com&_nc_cat=109&_nc_ohc=wUmLTEX1gSoAX-YC0xi&edm=AJ9x6zYAAAAA&ccb=7-5&ig_cache_key=MzI4ODYwNzM4ODc3Mjc5NTUxMw%3D%3D.2-ccb7-5&oh=00_AfDkGk4RjM4tcV8MeIp1wGVWAOMipEy6UF3Xo8aprRtlNg&oe=65C003C0&_nc_sid=65462d +/Users/shixuesen/OneDrive/Pictures/instagram/Likes_new/ https://scontent-lga3-2.cdninstagram.com/v/t51.2885-15/422360714_678192117565078_5969893973213332296_n.jpg?stp=dst-jpg_e35&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xNDQweDE3OTYuc2RyIn0&_nc_ht=scontent-lga3-2.cdninstagram.com&_nc_cat=110&_nc_ohc=FFAbrOIOKL8AX-aEz47&edm=AJ9x6zYBAAAA&ccb=7-5&ig_cache_key=MzI4OTMxMDg0ODYwOTEzMzkwNQ%3D%3D.2-ccb7-5&oh=00_AfCkuFDlejsWbntpTJqkySLDBQNzKitJfhTTf4uhvr4G-w&oe=65C02D6C&_nc_sid=65462d +/Users/shixuesen/OneDrive/Pictures/instagram/eom_sangmi/ https://scontent-lga3-2.cdninstagram.com/v/t39.30808-6/417817371_18406694218013226_4042320489971885209_n.jpg?stp=dst-jpg_e15&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xNDQweDE4MDAuc2RyIn0&_nc_ht=scontent-lga3-2.cdninstagram.com&_nc_cat=106&_nc_ohc=j8Up4L7EZUgAX9Kye3W&edm=ABmJApAAAAAA&ccb=7-5&ig_cache_key=MzI3NTQxNzc0MTc3NzMwNzY0MQ%3D%3D.2-ccb7-5&oh=00_AfAO95kdi2lfo_iKj4wV3flGhKpvMrTQciATkVELUrMm_A&oe=65BF92A1&_nc_sid=b41fef +/Users/shixuesen/OneDrive/Pictures/instagram/Likes_new/ https://scontent-lga3-2.cdninstagram.com/v/t51.2885-15/424428019_718874873754724_4039119023755748180_n.heic?stp=dst-jpg_e35&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xNDQweDE4MDAuc2RyIn0&_nc_ht=scontent-lga3-2.cdninstagram.com&_nc_cat=104&_nc_ohc=d2hc2aHVs_YAX8A911K&edm=AJ9x6zYBAAAA&ccb=7-5&ig_cache_key=MzI5MzU5MzAwOTc4OTk4MjU0OQ%3D%3D.2-ccb7-5&oh=00_AfAJsRoFK5N9JCiu_cOwckM4fykGhSyMs-ncXFvHgYvbhQ&oe=65C0D946&_nc_sid=65462d +/Users/shixuesen/OneDrive/Pictures/instagram/amberchenslife/ https://scontent-lga3-2.cdninstagram.com/o1/v/t16/f1/m69/GOW-EgqQyz6S240FAFqcD2cMeYs1bpR1AAAF.mp4?efg=eyJxZV9ncm91cHMiOiJbXCJpZ193ZWJfZGVsaXZlcnlfdnRzX290ZlwiXSIsInZlbmNvZGVfdGFnIjoidnRzX3ZvZF91cmxnZW4uY2xpcHMuYzIuMTA4MC5iYXNlbGluZSJ9&_nc_ht=scontent-lga3-2.cdninstagram.com&_nc_cat=106&vs=722948353263352_350310501&_nc_vs=HBksFQIYOnBhc3N0aHJvdWdoX2V2ZXJzdG9yZS9HT1ctRWdxUXl6NlMyNDBGQUZxY0QyY01lWXMxYnBSMUFBQUYVAALIAQAVAhg6cGFzc3Rocm91Z2hfZXZlcnN0b3JlL0dDaEE1aE9WTzNDNHVHRlhBRlRwTDVzaU9DVW9icFIxQUFBRhUCAsgBACgAGAAbABUAACb4%2Brv7mI%2B5PxUCKAJDMywXQCjMSbpeNT8YFmRhc2hfYmFzZWxpbmVfMTA4MHBfdjERAHX%2BBwA%3D&ccb=9-4&oh=00_AfD40UF8wsuoipSQ14Rpi1EJZpLEglTrBKbi_wn9z0egoQ&oe=65BFCD41&_nc_sid=b41fef +/Users/shixuesen/OneDrive/Pictures/instagram/amberchenslife/ https://scontent-lga3-2.cdninstagram.com/v/t39.30808-6/422708741_18408453223056722_9016563038233519635_n.jpg?stp=dst-jpg_e15&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xNDQweDE4MDAuc2RyIn0&_nc_ht=scontent-lga3-2.cdninstagram.com&_nc_cat=102&_nc_ohc=2iNWExULrMIAX97YNJw&edm=ABmJApAAAAAA&ccb=7-5&ig_cache_key=MzI5MDE5NTg1Nzg3ODAwMTA1OA%3D%3D.2-ccb7-5&oh=00_AfDDjL_HEfMvhgnqJOuCsZODUAoyhlJBnKYX0ukCAfxfOQ&oe=65C2BCC3&_nc_sid=b41fef +/Users/shixuesen/OneDrive/Pictures/instagram/sharalinmusic/ https://scontent-lga3-2.cdninstagram.com/v/t51.2885-15/425793275_2135913436748640_2466517289243645239_n.jpg?stp=dst-jpg_e35&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xNDQweDE0NDAuc2RyIn0&_nc_ht=scontent-lga3-2.cdninstagram.com&_nc_cat=100&_nc_ohc=qytXpaB4PiMAX8i6X3L&edm=ABmJApABAAAA&ccb=7-5&ig_cache_key=MzI5Nzk0OTUzOTM4NDExNjM2Ng%3D%3D.2-ccb7-5&oh=00_AfA7JDnkk8HIYNLoFZzED03Rfo5YvXml6SaX7D9eW8phdQ&oe=65D6F65E&_nc_sid=b41fef +/Users/shixuesen/OneDrive/Pictures/instagram/Likes_new/ https://scontent-lga3-2.cdninstagram.com/v/t51.2885-15/427173048_931918391942567_4535257290393685866_n.jpg?stp=dst-jpg_e35&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xNDQweDE4MDAuc2RyIn0&_nc_ht=scontent-lga3-2.cdninstagram.com&_nc_cat=111&_nc_ohc=0PmBVdg0oAMAX8lLhDN&edm=AJ9x6zYBAAAA&ccb=7-5&ig_cache_key=MzMwMjYzODAyNDE1MTUyNDY2Mw%3D%3D.2-ccb7-5&oh=00_AfD9MAlOQTRxQM1x26EV56dtr8--3WjlIuH-8-6uoTcD6A&oe=65D67B37&_nc_sid=65462d +/Users/shixuesen/OneDrive/Pictures/instagram/rakukoo/ https://scontent-lga3-1.cdninstagram.com/v/t51.2885-15/425318076_1600462474025802_4158646912167735264_n.jpg?stp=dst-jpg_e35&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xNDQweDE4MDAuc2RyIn0&_nc_ht=scontent-lga3-1.cdninstagram.com&_nc_cat=106&_nc_ohc=x6jV1Ec9kW8AX9H-FK2&edm=ABmJApABAAAA&ccb=7-5&ig_cache_key=MzI5NzI2OTkwOTQ5NDQzNjM5Ng%3D%3D.2-ccb7-5&oh=00_AfBCE7afkUsgqF1iHnU0JGjR6UBC8VyKUZeinU64g5iCbA&oe=65D85EFB&_nc_sid=b41fef +/Users/shixuesen/OneDrive/Pictures/instagram/imjennycheng/ https://scontent-lga3-2.cdninstagram.com/v/t51.2885-15/427482026_410363271352326_598801462427443311_n.jpg?stp=dst-jpg_e35&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xNDQweDE3OTkuc2RyIn0&_nc_ht=scontent-lga3-2.cdninstagram.com&_nc_cat=106&_nc_ohc=G54IbgP9T0sAX95Pj-Z&edm=ABmJApABAAAA&ccb=7-5&ig_cache_key=MzMwMzA1NjIwNzI3NTE5MzIxMg%3D%3D.2-ccb7-5&oh=00_AfAFl9xfgIa_ntGcU9mz0m5QPYDP2ccPZ_wnV1mNG-NrIg&oe=65D811E5&_nc_sid=b41fef +/Users/shixuesen/OneDrive/Pictures/instagram/duyenn.hipp/ https://scontent-lga3-2.cdninstagram.com/v/t51.2885-15/428596546_1068485667709982_8376527900222376019_n.jpg?stp=dst-jpg_e35&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xNDQweDE4MDAuc2RyIn0&_nc_ht=scontent-lga3-2.cdninstagram.com&_nc_cat=102&_nc_ohc=hCgJSSy9dzEAX_WT_YC&edm=ABmJApABAAAA&ccb=7-5&ig_cache_key=MzMwNTkxMTUwNDY4Njg3OTA1MA%3D%3D.2-ccb7-5&oh=00_AfCWnYwaF0ObEmvDMP3n1h-4i0F98Z3NIeORSEDsmr7QrA&oe=65D81661&_nc_sid=b41fef +/Users/shixuesen/OneDrive/Pictures/instagram/Likes_new/ https://scontent-lga3-2.cdninstagram.com/v/t51.2885-15/428042009_1591301494957793_7634375812826323703_n.jpg?stp=dst-jpg_e35&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xNDQweDE3NDEuc2RyIn0&_nc_ht=scontent-lga3-2.cdninstagram.com&_nc_cat=105&_nc_ohc=61fuD13rp8IAX8Zobri&edm=AJ9x6zYBAAAA&ccb=7-5&ig_cache_key=MzMwNDQ5Nzc3NDc1MzA4MTM4OA%3D%3D.2-ccb7-5&oh=00_AfALdfmZ7RoLNnyU-TzZaIa12fgt0x6l1mRlHWmVSlojpg&oe=65D82304&_nc_sid=65462d +/Users/shixuesen/OneDrive/Pictures/instagram/Likes_new/ https://scontent-lga3-2.cdninstagram.com/v/t39.30808-6/428017062_18413496709020508_1245454916341875135_n.jpg?stp=dst-jpg_e15&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xNDQweDE3OTkuc2RyIn0&_nc_ht=scontent-lga3-2.cdninstagram.com&_nc_cat=104&_nc_ohc=IfrOc-l0t_0AX8f5fdu&edm=AJ9x6zYAAAAA&ccb=7-5&ig_cache_key=MzMwNDQ2MzY2MjgwNTczNzc3Ng%3D%3D.2-ccb7-5&oh=00_AfCdHUD_ovgsrloPPhuYocTNt8I8yHTkCFrdjY1bxjcmNQ&oe=65D8639B&_nc_sid=65462d +/Users/shixuesen/OneDrive/Pictures/instagram/Likes_new/ https://scontent-lga3-1.cdninstagram.com/v/t51.2885-15/427420480_1541668050007970_5568661909139167065_n.jpg?stp=dst-jpg_e15&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xMDgweDEzNTAuc2RyIn0&_nc_ht=scontent-lga3-1.cdninstagram.com&_nc_cat=102&_nc_ohc=kG_flpogK5kAX-Csqvx&edm=AJ9x6zYBAAAA&ccb=7-5&ig_cache_key=MzMwMzg1MzQ5MzAwMDY2MjM2OQ%3D%3D.2-ccb7-5&oh=00_AfB-8zQ-igog74aNCotKj5AvE3Ay_NFzGWcvZxbu7R7D5w&oe=65D8B7D9&_nc_sid=65462d +/Users/shixuesen/OneDrive/Pictures/instagram/jenna_chew/ https://scontent-lga3-1.cdninstagram.com/v/t39.30808-6/426215287_18414844942022319_1024301981894502331_n.jpg?stp=dst-jpg_e15&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xNDQweDE3OTkuc2RyIn0&_nc_ht=scontent-lga3-1.cdninstagram.com&_nc_cat=103&_nc_ohc=renxJ-lR7OcAX9vW7B8&edm=ABmJApAAAAAA&ccb=7-5&ig_cache_key=MzI5OTQwMjMyOTM5NjU0Mzg2MQ%3D%3D.2-ccb7-5&oh=00_AfBQkF2USGR8kA2Ol-lBvVPqcjjL5uQ-NbrH6bEqn78_Lg&oe=65D9D228&_nc_sid=b41fef +/Users/shixuesen/OneDrive/Pictures/instagram/amberchenslife/ https://scontent-lga3-1.cdninstagram.com/v/t39.30808-6/426123116_18409817095056722_6499910201511092837_n.jpg?stp=dst-jpg_e15&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xNDQweDE4MDAuc2RyIn0&_nc_ht=scontent-lga3-1.cdninstagram.com&_nc_cat=102&_nc_ohc=MYzaOU_CPt4AX_SEBNW&edm=ABmJApAAAAAA&ccb=7-5&ig_cache_key=MzI5NTc2NTM5ODY1MzUxNjI0Nw%3D%3D.2-ccb7-5&oh=00_AfCD3G8Syq4vQmkPB9i4q35YffnKvNhCm3UolnQv5jM5UQ&oe=65D9404D&_nc_sid=b41fef +/Users/shixuesen/OneDrive/Pictures/instagram/kiyocosplay/ https://scontent-lga3-2.cdninstagram.com/v/t39.30808-6/426501973_18413327557000264_2276658196722974377_n.jpg?stp=dst-jpg_e15&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xNDQweDE4MDAuc2RyIn0&_nc_ht=scontent-lga3-2.cdninstagram.com&_nc_cat=104&_nc_ohc=eck5uOLxrw0AX9xVrwt&edm=ABmJApAAAAAA&ccb=7-5&ig_cache_key=MzMwMjI2NDAxMDQ4MDQ2ODg1Nw%3D%3D.2-ccb7-5&oh=00_AfCg1MMK7Bd6ul-K5Nug8G6Jyp8-fClfnV2eWOuWYaY17g&oe=65D9C560&_nc_sid=b41fef +/Users/shixuesen/OneDrive/Pictures/instagram/kiyocosplay/ https://scontent-lga3-2.cdninstagram.com/v/t39.30808-6/426132752_18412306873000264_4079541073430162046_n.jpg?stp=dst-jpg_e15&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xNDQweDE3OTYuc2RyIn0&_nc_ht=scontent-lga3-2.cdninstagram.com&_nc_cat=104&_nc_ohc=lNYIMk4zOFYAX-eKGbJ&edm=ABmJApAAAAAA&ccb=7-5&ig_cache_key=MzI5ODE5MzcyNTM3MjQzNDU5Mw%3D%3D.2-ccb7-5&oh=00_AfCkvDm-5Cz4gwuCCJFXWuPWeU1CQfYiPu0xcxNpTBzFtA&oe=65DA2785&_nc_sid=b41fef +/Users/shixuesen/OneDrive/Pictures/instagram/kiyocosplay/ https://scontent-lga3-2.cdninstagram.com/v/t51.2885-15/424532899_380906564673163_5973375459811368219_n.heic?stp=dst-jpg_e35&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi44NTd4MTA3Mi5zZHIifQ&_nc_ht=scontent-lga3-2.cdninstagram.com&_nc_cat=107&_nc_ohc=6dDm15gOlpAAX_pDUEP&edm=ABmJApABAAAA&ccb=7-5&ig_cache_key=MzI5MzU5MzAwOTc3MzM0MzM4OQ%3D%3D.2-ccb7-5&oh=00_AfB1OddOjvXDa0-8hsDsD_08aBb8n_sDzE9paMFioGZoSA&oe=65DA12F6&_nc_sid=b41fef +/Users/shixuesen/OneDrive/Pictures/instagram/skuukzky/ https://scontent-lga3-1.cdninstagram.com/v/t51.2885-15/424479116_993910068835371_8538413675972417764_n.jpg?stp=dst-jpg_e35&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xNDQweDE0NDAuc2RyIn0&_nc_ht=scontent-lga3-1.cdninstagram.com&_nc_cat=103&_nc_ohc=SPK8p1jECT4AX9y--6N&edm=ABmJApABAAAA&ccb=7-5&ig_cache_key=MzI5Mjg3NTg3NTM4NDUwNTczMA%3D%3D.2-ccb7-5&oh=00_AfDl8j2yUH-0ZesqBZqCLTXkEPofh9PCb20GwmWYayDInA&oe=65D92F26&_nc_sid=b41fef +/Users/shixuesen/OneDrive/Pictures/instagram/Likes_new/ https://scontent-lga3-2.cdninstagram.com/v/t51.2885-15/428078767_1112238356448498_5370758710004260139_n.jpg?stp=dst-jpg_e35&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xNDQweDE0NDAuc2RyIn0&_nc_ht=scontent-lga3-2.cdninstagram.com&_nc_cat=106&_nc_ohc=UBZyJnw99F0AX_ykeEk&edm=AJ9x6zYBAAAA&ccb=7-5&ig_cache_key=MzMwNTkyNTY5Njg3MDAxOTg4NA%3D%3D.2-ccb7-5&oh=00_AfBezidXGfD520HrWHracG1m27q1Jthn5WGAMK_oH10Kpw&oe=65DB7D84&_nc_sid=65462d +/Users/shixuesen/OneDrive/Pictures/instagram/ayreen/ https://scontent-lga3-2.cdninstagram.com/v/t39.30808-6/428611012_18421057072032692_7345131761669958697_n.jpg?stp=dst-jpg_e15&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xNDQweDE4MDAuc2RyIn0&_nc_ht=scontent-lga3-2.cdninstagram.com&_nc_cat=108&_nc_ohc=fvTQUDkqlAEAX85VPOp&edm=ABmJApAAAAAA&ccb=7-5&ig_cache_key=MzMwNjg2ODY2OTU5NjEzNzYzOQ%3D%3D.2-ccb7-5&oh=00_AfATwio4Ps0c4MCvd0RQwIUy1hApL7w_3jnpEMQ9LlPdmg&oe=65DB0570&_nc_sid=b41fef +/Users/shixuesen/OneDrive/Pictures/instagram/sharalinmusic/ https://scontent-lga3-2.cdninstagram.com/v/t51.2885-15/429082169_1609394073197832_6005647574824505228_n.jpg?stp=dst-jpg_e35&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xNDQweDE0NDAuc2RyIn0&_nc_ht=scontent-lga3-2.cdninstagram.com&_nc_cat=100&_nc_ohc=fOpkwKYlsxIAX9fr1Ij&edm=ABmJApABAAAA&ccb=7-5&ig_cache_key=MzMwNjY1MTUzMjA0NjcxNjYyOA%3D%3D.2-ccb7-5&oh=00_AfDhMZLjR4QPYgj_Ldq3oLLCqx73ekFk3zyBWT1GY6Mdkw&oe=65DBA55E&_nc_sid=b41fef +/Users/shixuesen/OneDrive/Pictures/instagram/imjennycheng/ https://scontent-ord5-2.cdninstagram.com/v/t51.2885-15/429560455_928841811987519_8087432743258997320_n.jpg?stp=dst-jpg_e35&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xNDQweDE3OTkuc2RyIn0&_nc_ht=scontent-ord5-2.cdninstagram.com&_nc_cat=103&_nc_ohc=pUKvULcifRwAX91lF3k&edm=ABmJApABAAAA&ccb=7-5&ig_cache_key=MzMxMDMzNjA0OTgyMTUzNDM1NA%3D%3D.2-ccb7-5&oh=00_AfDSENe8TMonmJBQxpBhD6EmMZRZh68WIrYitwY-ujHjmQ&oe=65E516C2&_nc_sid=b41fef +/Users/shixuesen/OneDrive/Pictures/instagram/Likes_new/ https://scontent-ord5-2.cdninstagram.com/v/t51.2885-15/430477415_1132773971415048_3506196306221294151_n.jpg?stp=dst-jpg_e35&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xNDQweDE3OTkuc2RyIn0&_nc_ht=scontent-ord5-2.cdninstagram.com&_nc_cat=100&_nc_ohc=s-AxIg1cSSIAX-dRgCx&edm=AJ9x6zYBAAAA&ccb=7-5&ig_cache_key=MzMxMzQzNzE0OTMzNjY4MjEwOA%3D%3D.2-ccb7-5&oh=00_AfDlOX7BFNMti7vscbLZIKbvhpFhGTuAeNJzmgyMlUujdQ&oe=65E5C8A4&_nc_sid=65462d +/Users/shixuesen/OneDrive/Pictures/instagram/ayreen/ https://scontent-ord5-2.cdninstagram.com/v/t51.2885-15/429811382_340809415621248_3046717463605954495_n.jpg?stp=dst-jpg_e15&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi43MjB4OTAwLnNkciJ9&_nc_ht=scontent-ord5-2.cdninstagram.com&_nc_cat=100&_nc_ohc=AanLC2U67ZgAX8jr5tL&edm=ABmJApABAAAA&ccb=7-5&ig_cache_key=MzMxMDQ0NDA2NDE1MzA3OTM2MA%3D%3D.2-ccb7-5&oh=00_AfDb7wdS7YAn0gEczH9vPDAmGHCzweiiLtDw-Nbym8hgMA&oe=65E5E056&_nc_sid=b41fef +/Users/shixuesen/OneDrive/Pictures/instagram/Likes_new/ https://scontent-ord5-2.cdninstagram.com/v/t39.30808-6/429495423_18414920359021284_1582777121929883405_n.jpg?stp=dst-jpg_e15&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xNDQweDE3OTkuc2RyIn0&_nc_ht=scontent-ord5-2.cdninstagram.com&_nc_cat=100&_nc_ohc=Jm3BN8aUzzcAX9QpbkC&edm=AJ9x6zYAAAAA&ccb=7-5&ig_cache_key=MzMxMzg1MjM3MTQ0Nzg0NjM3MQ%3D%3D.2-ccb7-5&oh=00_AfBHdtbQ2kbqBUKLrh5xoxTHbSM5M0_VZjNucsM347Be-g&oe=65E6B4F9&_nc_sid=65462d +/Users/shixuesen/OneDrive/Pictures/instagram/Likes_new/ https://scontent-ord5-2.cdninstagram.com/v/t51.2885-15/430877755_254869010997724_8082630397463842144_n.jpg?stp=dst-jpg_e35&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xNDQweDE4MDAuc2RyIn0&_nc_ht=scontent-ord5-2.cdninstagram.com&_nc_cat=104&_nc_ohc=_gHL-DJRcUMAX8uCqxm&edm=AJ9x6zYBAAAA&ccb=7-5&ig_cache_key=MzMxNDk3MjgwMzMxMjUzMTA4OA%3D%3D.2-ccb7-5&oh=00_AfCbH0vtKd7C16yOOzY9njYG1wzpvvec_dJzm-kj9Zm5wQ&oe=65EA9A14&_nc_sid=65462d +/Users/shixuesen/OneDrive/Pictures/instagram/Likes_new/ https://scontent-ord5-2.cdninstagram.com/v/t39.30808-6/431185405_18426463087044428_6420688149232464320_n.jpg?stp=dst-jpg_e15&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xNDQweDE4MDAuc2RyIn0&_nc_ht=scontent-ord5-2.cdninstagram.com&_nc_cat=108&_nc_ohc=aAdDmEhEKc8AX-U1V4d&edm=AJ9x6zYAAAAA&ccb=7-5&ig_cache_key=MzMxNDY2NTQyNDkyMjM1ODM0MQ%3D%3D.2-ccb7-5&oh=00_AfBrH2919GWG-6q2lSsgJ3qlE6HcuXmcDtaURb9aTryJmQ&oe=65EB75EB&_nc_sid=65462d +/Users/shixuesen/OneDrive/Pictures/instagram/Likes_new/ https://scontent-ord5-2.cdninstagram.com/v/t51.2885-15/430301517_363592179926614_4493731205592050043_n.jpg?stp=dst-jpg_e35&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi40MDk2eDQwOTYuc2RyIn0&_nc_ht=scontent-ord5-2.cdninstagram.com&_nc_cat=110&_nc_ohc=YFHL9UpyfrkAX_wF0fZ&edm=AJ9x6zYBAAAA&ccb=7-5&ig_cache_key=MzMxMzM3OTMxODU5MDkzMDY5NA%3D%3D.2-ccb7-5&oh=00_AfAAj0-RbvnwsJcHV2-keAho7yfzXrvvTUUrPjTxky9dvg&oe=65EBD8F5&_nc_sid=65462d +/Users/shixuesen/OneDrive/Pictures/instagram/Likes_new/ https://scontent-ord5-2.cdninstagram.com/v/t39.30808-6/430977726_18416428507018122_8969634551264869020_n.jpg?stp=dst-jpg_e15&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xNDQweDE4MDAuc2RyIn0&_nc_ht=scontent-ord5-2.cdninstagram.com&_nc_cat=106&_nc_ohc=MGs_kgCmoZ8AX9_ZESZ&edm=AJ9x6zYAAAAA&ccb=7-5&ig_cache_key=MzMxNDA2NjU2NTE5NjI4NDU5MA%3D%3D.2-ccb7-5&oh=00_AfCrrrl8m6ZAH5RQTzEaFwRUMTFEcEAZo_hE-BYozv_XoQ&oe=65EA6017&_nc_sid=65462d +/Users/shixuesen/OneDrive/Pictures/instagram/kiyocosplay/ https://scontent-ord5-2.cdninstagram.com/v/t51.29350-15/429319702_413055424731542_6843511235297614749_n.heic?stp=dst-jpg_e35&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xNDQweDE4MDIuc2RyIn0&_nc_ht=scontent-ord5-2.cdninstagram.com&_nc_cat=102&_nc_ohc=_MRG7JjOa9gAX8EzU2c&edm=ABmJApABAAAA&ccb=7-5&ig_cache_key=MzMwODgwNTIxNTA1MzkxMzA0Mw%3D%3D.2-ccb7-5&oh=00_AfB7WLgc4g0aJhg3H_01zAdOhxdJHu1OGTPHMXTwEbLPqw&oe=65EC7572&_nc_sid=b41fef +/Users/shixuesen/OneDrive/Pictures/instagram/boram__jj/ https://scontent-ord5-1.cdninstagram.com/v/t51.29350-15/431492828_600189052330172_8781388056222929152_n.jpg?stp=dst-jpg_e35&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xNDQweDE4MDAuc2RyIn0&_nc_ht=scontent-ord5-1.cdninstagram.com&_nc_cat=108&_nc_ohc=UbQ8w6g93B4AX9EAHP4&edm=ABmJApABAAAA&ccb=7-5&ig_cache_key=MzMxNzU4MzMwNTA2NzE4MDAxOA%3D%3D.2-ccb7-5&oh=00_AfC598kJ2_cLt4UPc6TF8Z5ybHTDsjA9CRcDrkxesm_ZJg&oe=65ED34EC&_nc_sid=b41fef +/Users/shixuesen/OneDrive/Pictures/instagram/gawonaa/ https://scontent-ord5-1.cdninstagram.com/v/t66.30100-16/168632474_1101694667928477_3852271713374682317_n.mp4?_nc_ht=scontent-ord5-1.cdninstagram.com&_nc_cat=109&_nc_ohc=JDMO-Ce_w6gAX8ykSrS&edm=ABmJApABAAAA&ccb=7-5&oh=00_AfB3mnrMM3afGq9YO8EVxe2Wo5clpIybk0zxPW4MV8S4bg&oe=65E9D52B&_nc_sid=b41fef +/Users/shixuesen/OneDrive/Pictures/instagram/Likes_new/ https://scontent-lga3-1.cdninstagram.com/v/t51.29350-15/431694960_635979568650142_5479754524713573310_n.jpg?stp=dst-jpg_e35&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xNDQweDE0NDAuc2RyIn0&_nc_ht=scontent-lga3-1.cdninstagram.com&_nc_cat=110&_nc_ohc=bb1pVlGG3y4AX9WxA1i&edm=AJ9x6zYBAAAA&ccb=7-5&ig_cache_key=MzMxNzU5MDQyOTQ2MDM2Mzg2MA%3D%3D.2-ccb7-5&oh=00_AfAW6BDIakWqQIQ0l14XoBh1vbWJSxLkLG0hA3bzWMnoPw&oe=65EF0A8D&_nc_sid=65462d +/Users/shixuesen/OneDrive/Pictures/instagram/beauty.leg/ https://scontent-lga3-2.cdninstagram.com/v/t51.29350-15/430910302_7223387027743461_1819323404900617053_n.jpg?stp=dst-jpg_e35&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xMTY1eDEzNzMuc2RyIn0&_nc_ht=scontent-lga3-2.cdninstagram.com&_nc_cat=109&_nc_ohc=hoD8R42BsyMAX_f2kcP&edm=ABmJApABAAAA&ccb=7-5&ig_cache_key=MzMxNDY2OTQ3MzAxOTQyOTYxMw%3D%3D.2-ccb7-5&oh=00_AfAllATeii_RuoFIbJwb9gnkPJX8yVyLMKKX4tlSoYdWHQ&oe=65EF237D&_nc_sid=b41fef +/Users/shixuesen/OneDrive/Pictures/instagram/lxx.baby/ https://scontent-lga3-1.cdninstagram.com/v/t51.29350-15/429486840_1133697947639708_7372162434539583267_n.jpg?stp=dst-jpg_e35&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xNDQweDE3OTkuc2RyIn0&_nc_ht=scontent-lga3-1.cdninstagram.com&_nc_cat=108&_nc_ohc=0CAB9k9VWkoAX-QPqUs&edm=ABmJApABAAAA&ccb=7-5&ig_cache_key=MzMwOTk0MjM5OTQ3NjIzODE0Mw%3D%3D.2-ccb7-5&oh=00_AfD74hQigIadPpeFsNW1qtClfQaO0yVMJEtV2FuGzfZ6YQ&oe=65EF3B9E&_nc_sid=b41fef +/Users/shixuesen/OneDrive/Pictures/instagram/Likes_new/ https://scontent-lga3-2.cdninstagram.com/v/t39.30808-6/428708707_18422837386051601_5480088888127740117_n.jpg?stp=dst-jpg_e15&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xNDQweDE4MDAuc2RyIn0&_nc_ht=scontent-lga3-2.cdninstagram.com&_nc_cat=105&_nc_ohc=IpZh1lB7Bo4AX9VJTqD&edm=AJ9x6zYAAAAA&ccb=7-5&ig_cache_key=MzMxNzEyMDkwMzA4MjE1ODY5OA%3D%3D.2-ccb7-5&oh=00_AfDBMXTri5QUMW3LGEkFdRo8PkM0b_ZhBp7flWWyNkOedA&oe=65F171C7&_nc_sid=65462d +/Users/shixuesen/OneDrive/Pictures/instagram/Likes_new/ https://scontent-lga3-2.cdninstagram.com/v/t39.30808-6/428702220_18422837395051601_3281930626892559581_n.jpg?stp=dst-jpg_e15&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xNDQweDE4MDAuc2RyIn0&_nc_ht=scontent-lga3-2.cdninstagram.com&_nc_cat=105&_nc_ohc=cCkz8ACClxMAX9Q1tqw&edm=AJ9x6zYAAAAA&ccb=7-5&ig_cache_key=MzMxNzEyMDkwMzE5OTcxMDM2Ng%3D%3D.2-ccb7-5&oh=00_AfD6vHaM7OCoW76ffc6f2yHkt01U-SFdUFnFPAh8624VCA&oe=65F1D04E&_nc_sid=65462d +/Users/shixuesen/OneDrive/Pictures/instagram/Likes_new/ https://scontent-lga3-2.cdninstagram.com/v/t51.29350-15/431363430_7241343679283821_6563936988599265364_n.jpg?stp=dst-jpg_e15&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi43MjB4ODk5LnNkciJ9&_nc_ht=scontent-lga3-2.cdninstagram.com&_nc_cat=101&_nc_ohc=Zya73QAFGpUAX9RRxMn&edm=AJ9x6zYBAAAA&ccb=7-5&ig_cache_key=MzMxNzExNDg5NTE0NDM2OTYxOA%3D%3D.2-ccb7-5&oh=00_AfAe775pnnClfLNVBXxT1H-bjoGQ0WCVOWjSKg3sxZAyDw&oe=65F1FCF9&_nc_sid=65462d +/Users/shixuesen/OneDrive/Pictures/instagram/Likes_new/ https://scontent-lga3-2.cdninstagram.com/v/t39.30808-6/428697425_18422837404051601_5168509471958391878_n.jpg?stp=dst-jpg_e15&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xNDQweDE4MDAuc2RyIn0&_nc_ht=scontent-lga3-2.cdninstagram.com&_nc_cat=105&_nc_ohc=-VeoKMzH_fEAX89erD_&edm=AJ9x6zYAAAAA&ccb=7-5&ig_cache_key=MzMxNzEyMDkwMzA2NTUzODQ2OQ%3D%3D.2-ccb7-5&oh=00_AfBYmkU71L9_0-eHnVXoJQTTmEnw4itQ1uHwB5WnB8IP2A&oe=65F19B99&_nc_sid=65462d +/Users/shixuesen/OneDrive/Pictures/instagram/Likes_new/ https://scontent-lga3-1.cdninstagram.com/v/t51.29350-15/431339499_1116792783000819_7205619897604388505_n.jpg?stp=dst-jpg_e15&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi43MjB4ODk5LnNkciJ9&_nc_ht=scontent-lga3-1.cdninstagram.com&_nc_cat=103&_nc_ohc=u_8BXu_3i28AX90NqYF&edm=AJ9x6zYBAAAA&ccb=7-5&ig_cache_key=MzMxNzExNDkwMTAwODE2MTkxOQ%3D%3D.2-ccb7-5&oh=00_AfChsq5s62FXkluE5zrwGC9c48ydJsuN_u7Bxp9EvwP7NA&oe=65F09788&_nc_sid=65462d +/Users/shixuesen/OneDrive/Pictures/instagram/Likes_new/ https://scontent-lga3-2.cdninstagram.com/v/t39.30808-6/428698413_18422837416051601_176858891765837469_n.jpg?stp=dst-jpg_e15&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xNDQweDE4MDAuc2RyIn0&_nc_ht=scontent-lga3-2.cdninstagram.com&_nc_cat=105&_nc_ohc=iBp7yXXgO0YAX--oDmR&edm=AJ9x6zYAAAAA&ccb=7-5&ig_cache_key=MzMxNzEyMDkwMzA5MDc5MzAxNg%3D%3D.2-ccb7-5&oh=00_AfDWWmzuCwlAZ1KIoMd2vQ9LsymDwaP2Z60TLW0uqnE0gA&oe=65F102C1&_nc_sid=65462d +/Users/shixuesen/OneDrive/Pictures/instagram/Likes_new/ https://scontent-lga3-2.cdninstagram.com/v/t39.30808-6/428705478_18422837425051601_1132705271823919821_n.jpg?stp=dst-jpg_e15&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xNDQweDE4MDAuc2RyIn0&_nc_ht=scontent-lga3-2.cdninstagram.com&_nc_cat=105&_nc_ohc=ydSjE19ELekAX8pcgjC&edm=AJ9x6zYAAAAA&ccb=7-5&ig_cache_key=MzMxNzEyMDkwMzA5MDU4ODYyOA%3D%3D.2-ccb7-5&oh=00_AfBFPOp0-4PkIJxTP5KQF2anbqtBzcxXqaD1dHcs34CApQ&oe=65F1AD4B&_nc_sid=65462d +/Users/shixuesen/OneDrive/Pictures/instagram/Likes_new/ https://scontent-lga3-2.cdninstagram.com/v/t39.30808-6/429561315_18422837434051601_7296872274884902471_n.jpg?stp=dst-jpg_e15&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xNDQweDE4MDAuc2RyIn0&_nc_ht=scontent-lga3-2.cdninstagram.com&_nc_cat=105&_nc_ohc=ARXloWp0dLgAX-qbf0a&edm=AJ9x6zYAAAAA&ccb=7-5&ig_cache_key=MzMxNzEyMDkwMzA3Mzc3MDk0Nw%3D%3D.2-ccb7-5&oh=00_AfDvtrA1enAVFHdIx3vJnzXTp8cOrILJEYzdw9QHJlTvOw&oe=65F1274C&_nc_sid=65462d +/Users/shixuesen/OneDrive/Pictures/instagram/Likes_new/ https://scontent-lga3-1.cdninstagram.com/o1/v/t16/f1/m69/GLC_pROf4SZGek8DAFueuBf-c2wPbpR1AAAF.mp4?efg=eyJxZV9ncm91cHMiOiJbXCJpZ193ZWJfZGVsaXZlcnlfdnRzX290ZlwiXSIsInZlbmNvZGVfdGFnIjoidnRzX3ZvZF91cmxnZW4uY2xpcHMuYzIuOTgyLmhpZ2gifQ&_nc_ht=scontent-lga3-1.cdninstagram.com&_nc_cat=111&vs=928221568745087_1895248157&_nc_vs=HBksFQIYOnBhc3N0aHJvdWdoX2V2ZXJzdG9yZS9HTENfcFJPZjRTWkdlazhEQUZ1ZXVCZi1jMndQYnBSMUFBQUYVAALIAQAVAhg6cGFzc3Rocm91Z2hfZXZlcnN0b3JlL0dDRkwzeEt3aWptZkJra0JBRDJTeGhoYmc3VXZicFIxQUFBRhUCAsgBACgAGAAbABUAACaQ1uSdrM2GQBUCKAJDMywXQCIQ5WBBiTcYEmRhc2hfaGlnaF8xMDgwcF92MREAdf4HAA%3D%3D&ccb=9-4&oh=00_AfCbGg8uvKS-AGU_Ll39gHbs4RtjG2TDnVb2q1BkmdS_Rg&oe=65EE2479&_nc_sid=65462d +/Users/shixuesen/OneDrive/Pictures/instagram/Likes_new/ https://scontent-lga3-2.cdninstagram.com/v/t51.29350-15/431653036_1582673292524205_303400697925697368_n.jpg?stp=dst-jpg_e35&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xNDQweDE0NDAuc2RyIn0&_nc_ht=scontent-lga3-2.cdninstagram.com&_nc_cat=109&_nc_ohc=OoUBM4AVb_IAX8Urj5K&edm=AJ9x6zYBAAAA&ccb=7-5&ig_cache_key=MzMxNzAyODE5MjQ4OTQyODQyMg%3D%3D.2-ccb7-5&oh=00_AfD0rqidM4M1mca11Nw6P3W0R-bXCP_ICWzUo_N5WpDGJQ&oe=65F16FC8&_nc_sid=65462d +/Users/shixuesen/OneDrive/Pictures/instagram/Likes_new/ https://scontent-lga3-1.cdninstagram.com/v/t51.29350-15/431637519_902501325004842_5569953616078759153_n.jpg?stp=dst-jpg_e35&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xNDQweDE4MDAuc2RyIn0&_nc_ht=scontent-lga3-1.cdninstagram.com&_nc_cat=106&_nc_ohc=hJstvPBCqs8AX9wKp5U&edm=AJ9x6zYBAAAA&ccb=7-5&ig_cache_key=MzMxNzU2NTQyOTk2Njc0OTkxNw%3D%3D.2-ccb7-5&oh=00_AfC5ivXoARkaZVGf8ais81WH2Vl12Lx7goHex9idCDw1GA&oe=65F0F2E5&_nc_sid=65462d +/Users/shixuesen/OneDrive/Pictures/instagram/Likes_new/ https://scontent-lga3-2.cdninstagram.com/v/t39.30808-6/428711524_18424329631027714_764047180519786010_n.jpg?stp=dst-jpg_e15&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xNDQweDE4MDAuc2RyIn0&_nc_ht=scontent-lga3-2.cdninstagram.com&_nc_cat=110&_nc_ohc=c4azDnV7gpcAX_7-j9d&edm=AJ9x6zYAAAAA&ccb=7-5&ig_cache_key=MzMyMDU2NzI5MTYxOTE0Nzc3OA%3D%3D.2-ccb7-5&oh=00_AfACBp_0WWG93y9kCMZqvs7rHFAf9VYRHMjmudrGEKyLtA&oe=65F49130&_nc_sid=65462d +/Users/shixuesen/OneDrive/Pictures/instagram/Likes_new/ https://scontent-lga3-1.cdninstagram.com/v/t51.29350-15/431460967_1374971249820998_8147902249641894292_n.heic?stp=dst-jpg_e35&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xNDQweDE0NDAuc2RyIn0&_nc_ht=scontent-lga3-1.cdninstagram.com&_nc_cat=102&_nc_ohc=FNBV_v42-FgAX-zpeLv&edm=AJ9x6zYBAAAA&ccb=7-5&ig_cache_key=MzMxOTMzNTc2MjM0MzU0MDE4OQ%3D%3D.2-ccb7-5&oh=00_AfBT1wgngJ6fgGldy5vOXgkRixC3hJ9LJyvVXFtblCbn5A&oe=65F34858&_nc_sid=65462d +/Users/shixuesen/OneDrive/Pictures/instagram/Likes_new/ https://scontent-lga3-2.cdninstagram.com/v/t39.30808-6/432519060_18418251046001964_2663949461923859704_n.jpg?stp=dst-jpg_e15&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xNDQweDE4MDAuc2RyIn0&_nc_ht=scontent-lga3-2.cdninstagram.com&_nc_cat=100&_nc_ohc=JJCNHtzl-0QAX95dgVK&edm=AJ9x6zYAAAAA&ccb=7-5&ig_cache_key=MzMyMDYyNzMzMDYxNTMyMzQ3OQ%3D%3D.2-ccb7-5&oh=00_AfBF6AffUM_CQbsonXNqUlPebr2Pps7x75NiTzZopQlSXg&oe=65F36366&_nc_sid=65462d +/Users/shixuesen/OneDrive/Pictures/instagram/Likes_new/ https://scontent-lga3-2.cdninstagram.com/o1/v/t16/f1/m82/A74A3A714F6EA89B3E18C71E5CF060B6_video_dashinit.mp4?efg=eyJxZV9ncm91cHMiOiJbXCJpZ193ZWJfZGVsaXZlcnlfdnRzX290ZlwiXSIsInZlbmNvZGVfdGFnIjoidnRzX3ZvZF91cmxnZW4uY2xpcHMuYzIuNzIwLmJhc2VsaW5lIn0&_nc_ht=scontent-lga3-2.cdninstagram.com&_nc_cat=101&vs=829028679033265_951484261&_nc_vs=HBksFQIYT2lnX3hwdl9yZWVsc19wZXJtYW5lbnRfcHJvZC9BNzRBM0E3MTRGNkVBODlCM0UxOEM3MUU1Q0YwNjBCNl92aWRlb19kYXNoaW5pdC5tcDQVAALIAQAVAhg6cGFzc3Rocm91Z2hfZXZlcnN0b3JlL0dESU5PUWVKMW5tWVlGZ0JBRExldGxhbjFQMGticFIxQUFBRhUCAsgBACgAGAAbABUAACbsnuOlm%2BqHQBUCKAJDMywXQCkhysCDEm8YEmRhc2hfYmFzZWxpbmVfMV92MREAdf4HAA%3D%3D&ccb=9-4&oh=00_AfBk_0OMWZKAzquBlknpJC-pBXam8LYt6xnnhPomSUPgkg&oe=65F0B5C0&_nc_sid=65462d +/Users/shixuesen/OneDrive/Pictures/instagram/Likes_new/ https://scontent-lga3-1.cdninstagram.com/v/t51.29350-15/431446917_24885572091087210_6776397202767655366_n.jpg?stp=dst-jpg_e35&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xNDQweDE4MDAuc2RyIn0&_nc_ht=scontent-lga3-1.cdninstagram.com&_nc_cat=106&_nc_ohc=vix_2OFxvNcAX9vKIfy&edm=AJ9x6zYBAAAA&ccb=7-5&ig_cache_key=MzMxODkxNDkwMTcxMTE2MzUxNA%3D%3D.2-ccb7-5&oh=00_AfBu778ZzGmhpekA5WVGLtt6-rUO1ADt043uFRkMvQcWfw&oe=65F4D6CB&_nc_sid=65462d +/Users/shixuesen/OneDrive/Pictures/instagram/Likes_new/ https://scontent-lga3-2.cdninstagram.com/v/t51.29350-15/432345329_393929949932335_8576036223865020208_n.jpg?stp=dst-jpg_e35&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xNDQweDE4MDAuc2RyIn0&_nc_ht=scontent-lga3-2.cdninstagram.com&_nc_cat=107&_nc_ohc=cVL1GYjSA9MAX9N295A&edm=AJ9x6zYBAAAA&ccb=7-5&ig_cache_key=MzMyMDU5MTg3NzE3NDMyMjExNA%3D%3D.2-ccb7-5&oh=00_AfAE94bfp3IMiehqc5NS8L9dsHFPadJYgf6Sjhm5vrRTHQ&oe=65F4FFFB&_nc_sid=65462d +/Users/shixuesen/OneDrive/Pictures/instagram/Likes_new/ https://scontent-lga3-2.cdninstagram.com/v/t51.29350-15/432148529_759888276093149_3526775538854296990_n.jpg?stp=dst-jpg_e35&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xNDQweDE4MDAuc2RyIn0&_nc_ht=scontent-lga3-2.cdninstagram.com&_nc_cat=105&_nc_ohc=tyA-m9qbY14AX87j7bF&edm=AJ9x6zYBAAAA&ccb=7-5&ig_cache_key=MzMxOTk2Njc3OTcwMjEyNDYxOA%3D%3D.2-ccb7-5&oh=00_AfCqE2PdfQBI3Ma4C5i1MRSnw4YIN3WxP5ghsmYO2r1P9g&oe=65F39B6A&_nc_sid=65462d +/Users/shixuesen/OneDrive/Pictures/instagram/Likes_new/ https://scontent-lga3-2.cdninstagram.com/v/t51.29350-15/432466113_1857912611289593_8587439126351093091_n.jpg?stp=dst-jpg_e35&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xNDQweDE4MDAuc2RyIn0&_nc_ht=scontent-lga3-2.cdninstagram.com&_nc_cat=1&_nc_ohc=Y2Q-skY0JTUAX8MMWUH&edm=AJ9x6zYBAAAA&ccb=7-5&ig_cache_key=MzMyMDAwNTQ3OTE2MTAxODk2Nw%3D%3D.2-ccb7-5&oh=00_AfD5N58-y4YlJUuuxhV5oGNWPYNEFr65w_Zb0z9XImhr0g&oe=65F3E356&_nc_sid=65462d +/Users/shixuesen/OneDrive/Pictures/instagram/zyzyxin222/ https://scontent-lga3-1.cdninstagram.com/v/t51.29350-15/432729704_394352026668800_2080512694854667053_n.jpg?stp=dst-jpg_e35&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xNDQweDE2OTUuc2RyIn0&_nc_ht=scontent-lga3-1.cdninstagram.com&_nc_cat=108&_nc_ohc=Fs6z1XB42swAX9MY5BL&edm=ABmJApABAAAA&ccb=7-5&ig_cache_key=MzMyMTE5NjIxMDkxMDM2MzY3MQ%3D%3D.2-ccb7-5&oh=00_AfABueXrNrJrYJgVPfGMB6Ugv2TAye0iReFZ6aTCpuevrw&oe=65F46F0F&_nc_sid=b41fef +/Users/shixuesen/OneDrive/Pictures/instagram/zyzyxin222/ https://scontent-lga3-2.cdninstagram.com/v/t51.29350-15/431393263_301021596060625_7280768756376054220_n.jpg?stp=dst-jpg_e35&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xNDQweDE3OTQuc2RyIn0&_nc_ht=scontent-lga3-2.cdninstagram.com&_nc_cat=101&_nc_ohc=u2INmU6YXGMAX9fcaVS&edm=ABmJApABAAAA&ccb=7-5&ig_cache_key=MzMyMDQzNTY4NTQ5ODYzMDA1Nw%3D%3D.2-ccb7-5&oh=00_AfB7yMHS5SSwaRzsyRe8BJ6Saz6vTLXGueYKEZWXae4GQQ&oe=65F51324&_nc_sid=b41fef +/Users/shixuesen/OneDrive/Pictures/instagram/lurehsu/ https://scontent-lga3-2.cdninstagram.com/v/t51.29350-15/432524761_723567099957796_3959856457818250299_n.jpg?stp=dst-jpg_e35&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xNDQweDE4MDAuc2RyIn0&_nc_ht=scontent-lga3-2.cdninstagram.com&_nc_cat=104&_nc_ohc=uva3blJ0N1cAX8fyPc9&edm=ABmJApABAAAA&ccb=7-5&ig_cache_key=MzMyMDY1MjAzMTk2OTg0ODM0MQ%3D%3D.2-ccb7-5&oh=00_AfA6c6UFJbEq8UkP0o-vKgQc9McVydOQWyoQ91PJYcmStg&oe=65F5A739&_nc_sid=b41fef +/Users/shixuesen/OneDrive/Pictures/instagram/lurehsu/ https://scontent-lga3-2.cdninstagram.com/v/t51.29350-15/432524152_935903684815945_3696111437198254496_n.jpg?stp=dst-jpg_e35&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xNDQweDE4MDAuc2RyIn0&_nc_ht=scontent-lga3-2.cdninstagram.com&_nc_cat=101&_nc_ohc=VgVQyoRQnHQAX_fqc2s&edm=ABmJApABAAAA&ccb=7-5&ig_cache_key=MzMyMDY1MjAzMTgxMDQ1MDI1NA%3D%3D.2-ccb7-5&oh=00_AfDV_Z0cVU3Eet8y85OsoVeZrDMj7zbJ4TmsyX8DERdTpw&oe=65F48CA1&_nc_sid=b41fef +/Users/shixuesen/OneDrive/Pictures/instagram/Likes_new/ https://scontent-lga3-1.cdninstagram.com/v/t39.30808-6/428712288_18423011689012082_7015088939632809309_n.jpg?stp=dst-jpg_e15&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xNDQweDE4MDAuc2RyIn0&_nc_ht=scontent-lga3-1.cdninstagram.com&_nc_cat=102&_nc_ohc=4JiqF3IVlI8AX_LldLO&edm=AJ9x6zYAAAAA&ccb=7-5&ig_cache_key=MzMyMTIzODYxNTgxOTY3NDcyOA%3D%3D.2-ccb7-5&oh=00_AfBZGHZvH23MXHjo4E3gn8On5bISDZ0QGOfuJjBX0_TVZQ&oe=65F5BD07&_nc_sid=65462d +/Users/shixuesen/OneDrive/Pictures/instagram/zyzyxin222/ https://scontent-ord5-2.cdninstagram.com/v/t51.29350-15/432785363_7339619192818302_2120213131707099611_n.jpg?stp=dst-jpg_e35&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xNDQweDE4MDAuc2RyIn0&_nc_ht=scontent-ord5-2.cdninstagram.com&_nc_cat=106&_nc_ohc=jHi0NAB2zOEAX-j9rI4&edm=ABmJApABAAAA&ccb=7-5&ig_cache_key=MzMyMjY1MDUzNDkzNjk1ODE0NQ%3D%3D.2-ccb7-5&oh=00_AfBeIUzXSuLj3wWXlGjDaoQFIzA7tI9O442olxU5N3ZZVg&oe=65F596DD&_nc_sid=b41fef +/Users/shixuesen/OneDrive/Pictures/instagram/loveruby_official/ https://scontent-ord5-2.cdninstagram.com/v/t39.30808-6/431898288_18383453275072122_7069607427372721782_n.jpg?stp=dst-jpg_e15&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xNDQweDE4MDAuc2RyIn0&_nc_ht=scontent-ord5-2.cdninstagram.com&_nc_cat=106&_nc_ohc=NLJn72Y_ZaoAX8TiMf0&edm=ABmJApAAAAAA&ccb=7-5&ig_cache_key=MzMyMTg4NDI1MTI2NTk5MTMzOQ%3D%3D.2-ccb7-5&oh=00_AfBwHv4LpIiSBRgKoBQZaP2KrPOoezTBMentb3inQRZRyQ&oe=65F62547&_nc_sid=b41fef +/Users/shixuesen/OneDrive/Pictures/instagram/jennawang525/ https://scontent-dub4-1.cdninstagram.com/v/t39.30808-6/433251793_18427301698010767_6256924825610405309_n.jpg?stp=dst-jpg_e35&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xNDQweDE3OTUuc2RyIn0&_nc_ht=scontent-dub4-1.cdninstagram.com&_nc_cat=107&_nc_ohc=SfFCmSrJqP0AX_HFaXU&edm=ABmJApAAAAAA&ccb=7-5&ig_cache_key=MzMzMjAzODc3NzQwODIwNzIwNw%3D%3D.2-ccb7-5&oh=00_AfD38ZiRPRDa5g64DdLvVCwPMNv_X3MYsQFiMlVygghnvw&oe=6608469A&_nc_sid=b41fef +/Users/shixuesen/OneDrive/Pictures/instagram/senap_official/ https://scontent-dub4-1.cdninstagram.com/v/t51.29350-15/432500625_1614395826093114_8908939692735018403_n.jpg?stp=dst-jpg_e35&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xNDQweDE2MzUuc2RyIn0&_nc_ht=scontent-dub4-1.cdninstagram.com&_nc_cat=106&_nc_ohc=3l6WuI9SgmUAX-8iJNn&edm=ABmJApABAAAA&ccb=7-5&ig_cache_key=MzMyMjgxNTgxODAzODU2MjQxNw%3D%3D.2-ccb7-5&oh=00_AfDE0HBa4tI0iuwZ8aIHY1w7JmidUdKpXHpRpki5NxT0-g&oe=6605E195&_nc_sid=b41fef +/Users/shixuesen/OneDrive/Pictures/instagram/sharalinmusic/ https://scontent-dub4-1.cdninstagram.com/v/t51.29350-15/434553782_787574756131621_5443903702994737648_n.jpg?stp=dst-jpg_e35&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xMjcweDEyNzAuc2RyIn0&_nc_ht=scontent-dub4-1.cdninstagram.com&_nc_cat=101&_nc_ohc=_F0XHXs52scAX84gfRz&edm=ABmJApABAAAA&ccb=7-5&ig_cache_key=MzMzMjc2ODcwOTc5MTE5NTM2Ng%3D%3D.2-ccb7-5&oh=00_AfCT8lAjDm9vKrT4s5xXeZyqVxAZYTORtad7eKyPc6lnjA&oe=660B00DB&_nc_sid=b41fef +/Users/shixuesen/OneDrive/Pictures/instagram/janie.lin/ https://scontent-dub4-1.cdninstagram.com/v/t39.30808-6/434583080_18422057395017472_5459515288181838431_n.jpg?stp=dst-jpg_e35&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xNDQweDE3Nzkuc2RyIn0&_nc_ht=scontent-dub4-1.cdninstagram.com&_nc_cat=104&_nc_ohc=kWih16RYT2IAX86RVr7&edm=ABmJApAAAAAA&ccb=7-5&ig_cache_key=MzMzMzc2MTAwNDkwMzAyNjU3Mw%3D%3D.2-ccb7-5&oh=00_AfBMAmtcqQY9oiflC9KQ1adE3Xhkd6OLAFISW267lJWhmQ&oe=660B2FB8&_nc_sid=b41fef +/Users/shixuesen/OneDrive/Pictures/instagram/na0912mi/ https://scontent-lax3-1.cdninstagram.com/v/t51.29350-15/436234665_743144297950324_8458252640705848849_n.jpg?stp=dst-jpg_e35&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xNDQweDE4MDAuc2RyIn0&_nc_ht=scontent-lax3-1.cdninstagram.com&_nc_cat=104&_nc_ohc=HnwXhZGr9xUAb4naKF9&edm=ABmJApABAAAA&ccb=7-5&ig_cache_key=MzM0MTM2ODQ2MTg3NDc4MjIzMw%3D%3D.2-ccb7-5&oh=00_AfC0OzTN4VibBPPXJif-bamQKw_FC7P-7fH9n566Tt_GlQ&oe=6619958B&_nc_sid=b41fef +/Users/shixuesen/OneDrive/Pictures/instagram/hazyryu/ https://scontent-lax3-2.cdninstagram.com/v/t51.29350-15/435132213_3745057915773456_7462968078882690620_n.jpg?stp=dst-jpg_e35&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xNDQweDE4MDAuc2RyIn0&_nc_ht=scontent-lax3-2.cdninstagram.com&_nc_cat=100&_nc_ohc=LxKInR1Qh_AAb62t3EU&edm=ABmJApABAAAA&ccb=7-5&ig_cache_key=MzMzNjMxODg5MzE0MzU3NjU5OQ%3D%3D.2-ccb7-5&oh=00_AfDO6dEO2pQp05akgELL7FsnnoiudnPP6S02mUQi4L41XA&oe=66198890&_nc_sid=b41fef +/Users/shixuesen/OneDrive/Pictures/instagram/Likes_new/ https://scontent-lax3-2.cdninstagram.com/v/t51.29350-15/434628882_1085336499362210_594069696102706123_n.jpg?stp=dst-jpegr_e35&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xNDQweDE4MDAuaGRyIn0&_nc_ht=scontent-lax3-2.cdninstagram.com&_nc_cat=102&_nc_ohc=2ckQk_uNrzEAb5OmdWM&edm=AJ9x6zYBAAAA&ccb=7-5&ig_cache_key=MzMzNDU4NDk0ODY4NTE4MTI1MA%3D%3D.2-ccb7-5&oh=00_AfD44NOgJxWRRxW_iyYVQwqV_bnvZjMohkXe39FfFKx3yw&oe=6619AF33&_nc_sid=65462d +/Users/shixuesen/OneDrive/Pictures/instagram/Likes_new/ https://scontent-lax3-2.cdninstagram.com/v/t39.30808-6/436414941_18424861771045753_3969838266123159708_n.jpg?stp=dst-jpg_e35&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xNDQweDE4MDAuc2RyIn0&_nc_ht=scontent-lax3-2.cdninstagram.com&_nc_cat=1&_nc_ohc=pdoMiUiXLYMAb4E_uoc&edm=AJ9x6zYAAAAA&ccb=7-5&ig_cache_key=MzM0MDQzNTU1ODg5OTQ0NTY5OA%3D%3D.2-ccb7-5&oh=00_AfASgwGc65TWLpQAlmaOLHaBbdS7iAYPCPrX-NblT80bxg&oe=6619C9A2&_nc_sid=65462d +/Users/shixuesen/OneDrive/Pictures/instagram/Likes_new/ https://scontent-lax3-2.cdninstagram.com/v/t39.30808-6/435598272_18424861852045753_9215829193475090124_n.jpg?stp=dst-jpg_e35&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xNDQweDE4MDAuc2RyIn0&_nc_ht=scontent-lax3-2.cdninstagram.com&_nc_cat=101&_nc_ohc=URwLcfYEDsgAb4snTUc&edm=AJ9x6zYAAAAA&ccb=7-5&ig_cache_key=MzM0MDQzNTU1ODg5OTU0MjEyNQ%3D%3D.2-ccb7-5&oh=00_AfAxVBICApTqlBRXdv0SQQSOFaYY7RkmyJWA_6nqWo-U3Q&oe=6619AD7F&_nc_sid=65462d +/Users/shixuesen/OneDrive/Pictures/instagram/siawase726/ https://scontent-lax3-2.cdninstagram.com/o1/v/t16/f1/m82/9248781B913F29935EB983A5DF9FA399_video_dashinit.mp4?efg=eyJxZV9ncm91cHMiOiJbXCJpZ193ZWJfZGVsaXZlcnlfdnRzX290ZlwiXSIsInZlbmNvZGVfdGFnIjoidnRzX3ZvZF91cmxnZW4uY2xpcHMuYzIuNzIwLmJhc2VsaW5lIn0&_nc_ht=scontent-lax3-2.cdninstagram.com&_nc_cat=100&vs=1305145383487741_3942950873&_nc_vs=HBksFQIYT2lnX3hwdl9yZWVsc19wZXJtYW5lbnRfcHJvZC85MjQ4NzgxQjkxM0YyOTkzNUVCOTgzQTVERjlGQTM5OV92aWRlb19kYXNoaW5pdC5tcDQVAALIAQAVAhg6cGFzc3Rocm91Z2hfZXZlcnN0b3JlL0dINm8wQmdkMkJhakxpOEhBTHNicm1SRVVkb1RicV9FQUFBRhUCAsgBACgAGAAbABUAACbcvbfx7uj9PxUCKAJDMywXQBqp%2B%2Bdsi0QYEmRhc2hfYmFzZWxpbmVfMV92MREAdf4HAA%3D%3D&ccb=9-4&oh=00_AfBeHGvnSvzDVX8b6MUou6fRM6LD4QIRIWXWmZdcxzhdHQ&oe=6617CF96&_nc_sid=b41fef +/Users/shixuesen/OneDrive/Pictures/instagram/hana.bunny_bunny/ https://scontent-lax3-1.cdninstagram.com/v/t51.29350-15/436316925_760675862832281_7511246099209547962_n.jpg?stp=dst-jpg_e35&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xNDQweDE4MDAuc2RyIn0&_nc_ht=scontent-lax3-1.cdninstagram.com&_nc_cat=105&_nc_ohc=se34a42FhCQAb6Id8Hh&edm=ABmJApABAAAA&ccb=7-5&ig_cache_key=MzM0MTMxNjM1OTg2MTUyOTYzNw%3D%3D.2-ccb7-5&oh=00_AfDuQpUFjXzfs3Et0K5ZiIutLckUOm2mdh_rUFD8A0BS3Q&oe=6619ED7A&_nc_sid=b41fef +/Users/shixuesen/OneDrive/Pictures/instagram/_yujin_an/ https://scontent-lax3-2.cdninstagram.com/v/t51.29350-15/198456221_162107959227252_5282660053667432644_n.jpg?stp=dst-jpg_e35&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xNDQweDE4MDAuc2RyIn0&_nc_ht=scontent-lax3-2.cdninstagram.com&_nc_cat=100&_nc_ohc=2vu63ELKgGAAb4AR_ZR&edm=ABmJApABAAAA&ccb=7-5&ig_cache_key=MjU5MjEzNjkwOTkzMjEwMTk4Ng%3D%3D.2-ccb7-5&oh=00_AfAwOBFGC2Cl1j5h20lxtV6PTaNUfyv3L6g6t_UeTpnyWQ&oe=661AD411&_nc_sid=b41fef +/Users/shixuesen/OneDrive/Pictures/instagram/Likes_new/ https://scontent-lax3-2.cdninstagram.com/v/t51.29350-15/436223130_1202822144434820_6851384699813832921_n.jpg?stp=dst-jpg_e35&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xNDQweDE4MDAuc2RyIn0&_nc_ht=scontent-lax3-2.cdninstagram.com&_nc_cat=1&_nc_ohc=B76THA5pxO0Ab5xm6HY&edm=AJ9x6zYBAAAA&ccb=7-5&ig_cache_key=MzM0MTU3NTEyMDgzNTQwNjgxNQ%3D%3D.2-ccb7-5&oh=00_AfBVi0YWgHTdFFr1SYrvnouLa9DF22wABk8Zho3MBWiS_A&oe=661ADF4B&_nc_sid=65462d +/Users/shixuesen/OneDrive/Pictures/instagram/Likes_new/ https://scontent-lax3-2.cdninstagram.com/v/t51.29350-15/435578902_431195772898619_8041860598295001877_n.jpg?stp=dst-jpg_e35&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xNDQweDE4MDAuc2RyIn0&_nc_ht=scontent-lax3-2.cdninstagram.com&_nc_cat=111&_nc_ohc=fk6U4J9OQewAb60wQJb&edm=AJ9x6zYBAAAA&ccb=7-5&ig_cache_key=MzMzODgyNTA5ODY1MTQ1NzA4NA%3D%3D.2-ccb7-5&oh=00_AfCFgKgNsXK5XQ0fpr3KFftapjku59ahJ6Qdz_4QHUIKXg&oe=661ADDC6&_nc_sid=65462d +/Users/shixuesen/OneDrive/Pictures/instagram/cxxsomi/ https://scontent-lax3-2.cdninstagram.com/v/t51.29350-15/436344394_343345468734536_4440293500930001553_n.jpg?stp=dst-jpg_e35&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xNDQweDE3MTAuc2RyIn0&_nc_ht=scontent-lax3-2.cdninstagram.com&_nc_cat=108&_nc_ohc=BCnXTIgSzY4Ab4GA0iC&edm=ABmJApABAAAA&ccb=7-5&ig_cache_key=MzM0MjM0NjE4Mjc4NDQyNTczOA%3D%3D.2-ccb7-5&oh=00_AfCykT-STE-X_LygmZjIn65lG6nrJgzchDJs7JLczJLJSw&oe=661C0AE1&_nc_sid=b41fef +/Users/shixuesen/OneDrive/Pictures/instagram/duyenn.hipp/ https://scontent-lax3-1.cdninstagram.com/v/t51.29350-15/434725536_778092023914216_7487910568819416892_n.jpg?stp=dst-jpg_e35&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xNDQweDE3OTkuc2RyIn0&_nc_ht=scontent-lax3-1.cdninstagram.com&_nc_cat=104&_nc_ohc=AFzv7SDl-r0Ab6Yr4xc&edm=ABmJApABAAAA&ccb=7-5&ig_cache_key=MzMzNTE0NzE5Mzk1MzU0NjQ5MQ%3D%3D.2-ccb7-5&oh=00_AfC3Chcrg7DlvlGOqWsLE_t0fdW5ent5W-PqShCEWyp2LA&oe=661C4BCD&_nc_sid=b41fef +/Users/shixuesen/OneDrive/Pictures/instagram/duyenn.hipp/ https://scontent-lax3-1.cdninstagram.com/v/t51.29350-15/434760195_1214364729538444_1366544450629071604_n.jpg?stp=dst-jpg_e35&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xNDQweDE3OTEuc2RyIn0&_nc_ht=scontent-lax3-1.cdninstagram.com&_nc_cat=104&_nc_ohc=CxmG3W64F10Ab7w-vzv&edm=ABmJApABAAAA&ccb=7-5&ig_cache_key=MzMzNTE0NzE5Mzk0NTExNDg4MQ%3D%3D.2-ccb7-5&oh=00_AfCDwp9tGNdIG3rSM3hYOxachwj5s4wNkorMWOulveFq9A&oe=661C4D31&_nc_sid=b41fef +/Users/shixuesen/OneDrive/Pictures/instagram/__leeheeeun__/ https://scontent-lax3-2.cdninstagram.com/v/t51.29350-15/436405474_803556365002374_9185246768158706442_n.jpg?stp=dst-jpg_e35&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xNDQweDEwODAuc2RyIn0&_nc_ht=scontent-lax3-2.cdninstagram.com&_nc_cat=106&_nc_ohc=X2ZZjgUTrFIAb7uZKNZ&edm=ABmJApABAAAA&ccb=7-5&ig_cache_key=MzM0MjA5MzYzODM3MjQ5NDMxNg%3D%3D.2-ccb7-5&oh=00_AfDqo7Cc3k_e6xBme8ROZbioGYGzXMhk7kjuCaTIUmJBOA&oe=661C8C2D&_nc_sid=b41fef +/Users/shixuesen/OneDrive/Pictures/instagram/naughty_rabbit_/ https://scontent-lax3-2.cdninstagram.com/v/t51.29350-15/440466148_3687933241447411_4507550254989849935_n.jpg?stp=dst-jpg_e35&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xNDQweDE4MDAuc2RyLmYyOTM1MCJ9&_nc_ht=scontent-lax3-2.cdninstagram.com&_nc_cat=107&_nc_ohc=3BFnUK-5R-oQ7kNvgHluKu6&edm=ABmJApABAAAA&ccb=7-5&ig_cache_key=MzM1MzM3NzExODA3Mjg0MzU5Mw%3D%3D.2-ccb7-5&oh=00_AYAjKffjUJE11FqtYX2zWASEjJ62nq5ngrinWEaqeZXFhw&oe=66523E7C&_nc_sid=b41fef +/Users/shixuesen/OneDrive/Pictures/instagram/hana.bunny_bunny/ https://scontent-lax3-2.cdninstagram.com/v/t51.29350-15/442651589_1022940255927432_3743502755645042846_n.jpg?stp=dst-jpg_e35&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4yNDQ4eDI0NDguc2RyLmYyOTM1MCJ9&_nc_ht=scontent-lax3-2.cdninstagram.com&_nc_cat=100&_nc_ohc=c6WWB0y6JgkQ7kNvgHYTUQB&edm=ABmJApABAAAA&ccb=7-5&ig_cache_key=MzM2NzQwNzMyNTc3MjkzMzQ4OQ%3D%3D.2-ccb7-5&oh=00_AYDwEC1Z9ntKXGg91NCHKDOR7Az-NHVcGeqFMuftTTDUEg&oe=6651F588&_nc_sid=b41fef +/Users/shixuesen/OneDrive/Pictures/instagram/yifei_cc/ https://scontent-lax3-2.cdninstagram.com/v/t51.29350-15/440896274_294395853713158_5566566223153622741_n.jpg?stp=dst-jpg_e35&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xNDQweDE4MDAuc2RyLmYyOTM1MCJ9&_nc_ht=scontent-lax3-2.cdninstagram.com&_nc_cat=110&_nc_ohc=LkeZ_GSv4ZoQ7kNvgEb7WX1&edm=ABmJApABAAAA&ccb=7-5&ig_cache_key=MzM1NjI4ODI5MjI0MDE5NzUyNw%3D%3D.2-ccb7-5&oh=00_AYDpzUhbDWxBSyyhIDjuqiPbYbBeKbJ7Y0ZTdlvzntvIeg&oe=6653E3B5&_nc_sid=b41fef +/Users/shixuesen/OneDrive/Pictures/instagram/shinopp._.ai/ https://scontent-lax3-1.cdninstagram.com/v/t51.29350-15/439632328_25789233700692652_908865104802858121_n.jpg?stp=dst-jpg_e35&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xNDQweDE3MTEuc2RyLmYyOTM1MCJ9&_nc_ht=scontent-lax3-1.cdninstagram.com&_nc_cat=104&_nc_ohc=4TNBiE9VLusQ7kNvgG0-DwM&edm=ABmJApABAAAA&ccb=7-5&ig_cache_key=MzM1NDc0ODE2ODM5ODMwMTI3Mw%3D%3D.2-ccb7-5&oh=00_AYBuCHE7urF6aIiFbBit7GZ1JBt3mwvvfip77VJJDBfylQ&oe=6654E30A&_nc_sid=b41fef +/Users/shixuesen/OneDrive/Pictures/instagram/Likes_new/ https://scontent-ord5-2.cdninstagram.com/v/t51.29350-15/457659047_544907307966624_902354125811569667_n.jpg?stp=dst-jpg_e35&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xNDQweDE4MDAuc2RyLmYyOTM1MC5kZWZhdWx0X2ltYWdlIn0&_nc_ht=scontent-ord5-2.cdninstagram.com&_nc_cat=100&_nc_ohc=Jb8ODJE2NBMQ7kNvgEIpvQl&edm=AJ9x6zYBAAAA&ccb=7-5&ig_cache_key=MzQ0ODc2NjMxNzg3NTI2NDAwNQ%3D%3D.2-ccb7-5&oh=00_AYBVoE3GS9x2gZZqbRSdF8r_wCG0DYYcwri69WUsCKOOQg&oe=66DD9319&_nc_sid=65462d +/Users/shixuesen/OneDrive/Pictures/instagram/ayreen/ https://scontent-ord5-2.cdninstagram.com/o1/v/t16/f1/m82/12499FD9BE3245D5356CAE565B6D40B3_video_dashinit.mp4?stp=dst-mp4&efg=eyJxZV9ncm91cHMiOiJbXCJpZ193ZWJfZGVsaXZlcnlfdnRzX290ZlwiXSIsInZlbmNvZGVfdGFnIjoidnRzX3ZvZF91cmxnZW4uY2xpcHMuYzIuNzIwLmJhc2VsaW5lIn0&_nc_cat=107&vs=798218111898738_1615538507&_nc_vs=HBksFQIYT2lnX3hwdl9yZWVsc19wZXJtYW5lbnRfcHJvZC8xMjQ5OUZEOUJFMzI0NUQ1MzU2Q0FFNTY1QjZENDBCM192aWRlb19kYXNoaW5pdC5tcDQVAALIAQAVAhg6cGFzc3Rocm91Z2hfZXZlcnN0b3JlL0dBd0pFeFdjUHRnUEM3c0NBQldBRDlpdVo0OVFicV9FQUFBRhUCAsgBACgAGAAbABUAACaYyd3Q3MSFQBUCKAJDMywXQC6ZmZmZmZoYEmRhc2hfYmFzZWxpbmVfMV92MREAdf4HAA%3D%3D&ccb=9-4&oh=00_AYBEFcCDfZ3ztaUv-zU71Y44MZVEMeFFml1xPzsLtmtANQ&oe=66D98BAB&_nc_sid=b41fef +/Users/shixuesen/OneDrive/Pictures/instagram/cho_hyunyoung/ https://scontent-ord5-1.cdninstagram.com/o1/v/t16/f1/m82/164833BC3D58750183D8440B19C8E584_video_dashinit.mp4?stp=dst-mp4&efg=eyJxZV9ncm91cHMiOiJbXCJpZ193ZWJfZGVsaXZlcnlfdnRzX290ZlwiXSIsInZlbmNvZGVfdGFnIjoidnRzX3ZvZF91cmxnZW4uY2xpcHMuYzIuNzIwLmJhc2VsaW5lIn0&_nc_cat=108&vs=747710920123586_1969795287&_nc_vs=HBksFQIYT2lnX3hwdl9yZWVsc19wZXJtYW5lbnRfcHJvZC8xNjQ4MzNCQzNENTg3NTAxODNEODQ0MEIxOUM4RTU4NF92aWRlb19kYXNoaW5pdC5tcDQVAALIAQAVAhg6cGFzc3Rocm91Z2hfZXZlcnN0b3JlL0dMaEcwQmpIRVpBdl9KRVpBQi1iUHQ0a2N0NFRicV9FQUFBRhUCAsgBACgAGAAbABUAACawuKbsutmDQBUCKAJDMywXQD7uVgQYk3UYEmRhc2hfYmFzZWxpbmVfMV92MREAdf4HAA%3D%3D&ccb=9-4&oh=00_AYBlFBcQcWR802oiCeyl9Ip8eZ3isPotExzwO9c9PqFxOg&oe=66D99ECA&_nc_sid=b41fef +/Users/shixuesen/OneDrive/Pictures/instagram/lurehsu/ https://scontent-ord5-1.cdninstagram.com/v/t51.29350-15/451436405_2186642725035608_6016902630967362348_n.jpg?stp=dst-jpg_e35&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xNDQweDE4MDAuc2RyLmYyOTM1MC5kZWZhdWx0X2ltYWdlIn0&_nc_ht=scontent-ord5-1.cdninstagram.com&_nc_cat=108&_nc_ohc=aSPHSef1UIcQ7kNvgGFFtm8&_nc_gid=09211c35631846438b91f9f676425501&edm=ABmJApABAAAA&ccb=7-5&ig_cache_key=MzQxMzkwMjYzMTUzMjAxMzk5NQ%3D%3D.2-ccb7-5&oh=00_AYCl2kpoopmoNtXEB6KXP_Y-kZA25_oSYots-HSfosrF-g&oe=66DD8926&_nc_sid=b41fef +/Users/shixuesen/OneDrive/Pictures/instagram/nyanchan22/ https://scontent-ord5-2.cdninstagram.com/v/t51.29350-15/456455749_496832152968687_7480332950078588590_n.jpg?stp=dst-jpegr_e35&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xNDQweDE4MDAuaGRyLmYyOTM1MC5kZWZhdWx0X2ltYWdlIn0&_nc_ht=scontent-ord5-2.cdninstagram.com&_nc_cat=103&_nc_ohc=BRf_CFIMFSAQ7kNvgGOTRVp&edm=ABmJApABAAAA&ccb=7-5&ig_cache_key=MzQ0MjE2OTgwMDEzODAxMjk3Ng%3D%3D.2-ccb7-5&oh=00_AYBCvtgDqY1Ta5abPRJP_HNzC4JwAaGM7z1Zp5vgCIe_aA&oe=66DDAE16&_nc_sid=b41fef +/Users/shixuesen/OneDrive/Pictures/instagram/cxxsomi/ https://scontent-ord5-1.cdninstagram.com/v/t51.29350-15/455153158_1969698833473005_2349995773469402766_n.jpg?stp=dst-jpg_e35&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xNDQweDE2NDkuc2RyLmYyOTM1MC5kZWZhdWx0X2ltYWdlIn0&_nc_ht=scontent-ord5-1.cdninstagram.com&_nc_cat=109&_nc_ohc=vXPdP7vMiFkQ7kNvgEb8r2m&edm=ABmJApABAAAA&ccb=7-5&ig_cache_key=MzQzMzAxNDE2MDExODQwNDg5MA%3D%3D.2-ccb7-5&oh=00_AYBtP2ZiwttZvGlnWiR0h6-UBTwUi-n8aFfzJqbP2S6I9w&oe=66DD9BC3&_nc_sid=b41fef +/Users/shixuesen/OneDrive/Pictures/instagram/yura_936/ https://scontent-ord5-1.cdninstagram.com/v/t51.29350-15/452752313_1005896274578795_2243848637395643285_n.heic?stp=dst-jpg_e35&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xMDgweDgxMC5zZHIuZjI5MzUwLmRlZmF1bHRfaW1hZ2UifQ&_nc_ht=scontent-ord5-1.cdninstagram.com&_nc_cat=111&_nc_ohc=3pT2-qkeKYoQ7kNvgHYkY2F&edm=ABmJApABAAAA&ccb=7-5&ig_cache_key=MzQyMDQ4NTk3MjI2ODUyNDg3OA%3D%3D.2-ccb7-5&oh=00_AYDcHzPUO5ewgfcs9Lz6vQm4BocP9eJWjkveXzaztLGVKg&oe=66DDB560&_nc_sid=b41fef +/Users/shixuesen/OneDrive/Pictures/instagram/Likes_new/ https://scontent-ord5-2.cdninstagram.com/v/t51.29350-15/461272960_1924109911425857_1451868788078794423_n.jpg?stp=dst-jpg_e15&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi43MjB4ODk3LnNkci5mMjkzNTAuZGVmYXVsdF9jb3Zlcl9mcmFtZSJ9&_nc_ht=scontent-ord5-2.cdninstagram.com&_nc_cat=105&_nc_ohc=wsm37uQS28YQ7kNvgEbTHoh&_nc_gid=e262250629c449bab4a48296511bc238&edm=AJ9x6zYBAAAA&ccb=7-5&ig_cache_key=MzQ2NDE5Mzc3NDcwMjI0ODYzNA%3D%3D.3-ccb7-5&oh=00_AYDyuZgU0njR9yroQIWgjwxsW3UInl4o1x6QuOydaTqAlg&oe=66FA9BCB&_nc_sid=65462d +/Users/shixuesen/OneDrive/Pictures/instagram/Likes_new/ https://scontent-ord5-2.cdninstagram.com/v/t39.30808-6/461178213_18461083210040031_6321253401787195190_n.jpg?stp=dst-jpg_e35&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xNDQweDE4MDAuc2RyLmYzMDgwOC5kZWZhdWx0X2ltYWdlIn0&_nc_ht=scontent-ord5-2.cdninstagram.com&_nc_cat=103&_nc_ohc=yvPqvWSgTZ0Q7kNvgErV-5U&edm=AJ9x6zYAAAAA&ccb=7-5&ig_cache_key=MzQ2NDE1NjQxNTE1NjY2NzQ3Mw%3D%3D.3-ccb7-5&oh=00_AYBnZlEf43jmy0GboM1EAakf6xMBXcG886MvC860Ffi1jQ&oe=66FA80A8&_nc_sid=65462d +/Users/shixuesen/OneDrive/Pictures/instagram/_yujin_an/ https://scontent-ord5-1.cdninstagram.com/v/t51.29350-15/460905601_420618797311195_1405621135391203667_n.jpg?stp=dst-jpegr_e35&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xNDQweDE4MDAuaGRyLmYyOTM1MC5kZWZhdWx0X2ltYWdlIn0&_nc_ht=scontent-ord5-1.cdninstagram.com&_nc_cat=107&_nc_ohc=tzY4Ht1cacgQ7kNvgGRv2d3&_nc_gid=358e46f2fa6f4bce81e5a523cde75c92&edm=ABmJApABAAAA&ccb=7-5&ig_cache_key=MzQ2MTkxOTYxNDA1NjYxNTgzMw%3D%3D.3-ccb7-5&oh=00_AYCZoTHpgDT42l6rcVqMRZDdMDiDJ7atzmTYMM6ZjnPP8A&oe=66FAAE85&_nc_sid=b41fef +/Users/shixuesen/OneDrive/Pictures/instagram/jiee_wen/ https://scontent-ord5-2.cdninstagram.com/o1/v/t16/f1/m86/D6438AEC1DF17D804659B74EFAF9D091_video_dashinit.mp4?efg=eyJ4cHZfYXNzZXRfaWQiOjE1MDQxNTYyODM1Mzc1NTEsInZlbmNvZGVfdGFnIjoieHB2X3Byb2dyZXNzaXZlLklOU1RBR1JBTS5DTElQUy5DMy43MjAuZGFzaF9iYXNlbGluZV8xX3YxIn0&_nc_ht=scontent-ord5-2.cdninstagram.com&_nc_cat=101&vs=df93a0b33175f1a&_nc_vs=HBksFQIYUmlnX3hwdl9yZWVsc19wZXJtYW5lbnRfc3JfcHJvZC9ENjQzOEFFQzFERjE3RDgwNDY1OUI3NEVGQUY5RDA5MV92aWRlb19kYXNoaW5pdC5tcDQVAALIAQAVAhg6cGFzc3Rocm91Z2hfZXZlcnN0b3JlL0dQblJSQnRNV1hTeGQ2Z0RBUFVNOTZ5SFl2ZDNicV9FQUFBRhUCAsgBACgAGAAbAogHdXNlX29pbAExEnByb2dyZXNzaXZlX3JlY2lwZQExFQAAJp6ivM-1gawFFQIoAkMzLBdAJhDlYEGJNxgSZGFzaF9iYXNlbGluZV8xX3YxEQB1_gcA&ccb=9-4&oh=00_AYAbLTUM8dmwLewRU2VS8e8aNldyd0y84XqMW6rk9n0E_w&oe=6734BDAD&_nc_sid=1d576d +/Users/shixuesen/OneDrive/Pictures/instagram/cxxsomi/ https://scontent-ord5-2.cdninstagram.com/v/t51.29350-15/462239218_1952937031854543_325466282218073303_n.jpg?stp=dst-jpg_e35&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xNDQweDE3NDkuc2RyLmYyOTM1MC5kZWZhdWx0X2ltYWdlIn0&_nc_ht=scontent-ord5-2.cdninstagram.com&_nc_cat=103&_nc_ohc=cOZLqNNHEsoQ7kNvgHPxnkq&_nc_gid=6cd4994e89f641b79123078d93b2cf0d&edm=ABmJApABAAAA&ccb=7-5&ig_cache_key=MzQ3MjEwNzMzNDg0MjE4Mzk4NQ%3D%3D.3-ccb7-5&oh=00_AYAdgdWXrtCkAm9dwAwvlj-6Me9U1oJgzG_CVGB28CDOVw&oe=67389691&_nc_sid=b41fef +/Users/shixuesen/OneDrive/Pictures/instagram/na0912mi/ https://scontent-ord5-2.cdninstagram.com/v/t51.29350-15/463635122_409956255481423_7349613210619045332_n.jpg?stp=dst-jpg_e35&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xNDQweDE4MDAuc2RyLmYyOTM1MC5kZWZhdWx0X2ltYWdlIn0&_nc_ht=scontent-ord5-2.cdninstagram.com&_nc_cat=107&_nc_ohc=nT-BpcnnwfsQ7kNvgGZi0Qx&_nc_gid=1df8ead27a0c4a6ba28c837ce0a91689&edm=ABmJApABAAAA&ccb=7-5&ig_cache_key=MzQ4MDE5ODQ1NTIzNjc0NjIwMw%3D%3D.3-ccb7-5&oh=00_AYDbz7qCmrr7qyj9wnMZZxnBLi176W34ZcPEaMdPvDn-dw&oe=67389E28&_nc_sid=b41fef +/Users/shixuesen/OneDrive/Pictures/instagram/inkyung97/ https://scontent-lga3-3.cdninstagram.com/v/t51.29350-15/472953751_567594079430686_4338505019887105278_n.jpg?stp=dst-jpg_e35_tt6&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xNDQweDE4MDAuc2RyLmYyOTM1MC5kZWZhdWx0X2ltYWdlIn0&_nc_ht=scontent-lga3-3.cdninstagram.com&_nc_cat=110&_nc_ohc=s4E1C2EnGY0Q7kNvgH4RzjR&_nc_gid=5dc5df86b62644bfb2fbaca160e33312&edm=ABmJApABAAAA&ccb=7-5&ig_cache_key=MzU0MDkzMTYyNTY3NDc1NjUxMw%3D%3D.3-ccb7-5&oh=00_AYDpOUNKoqajEM9p9ObHT3oPNqT0vCtrIBjIEph8ZmIaOw&oe=679D6F3C&_nc_sid=b41fef +/Users/shixuesen/OneDrive/Pictures/instagram/boram__jj/ https://scontent-lga3-3.cdninstagram.com/v/t51.29350-15/474523293_1579949639328700_5811870597647010078_n.jpg?stp=dst-jpg_e35_tt6&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xMDgweDEzNTAuc2RyLmYyOTM1MC5kZWZhdWx0X2ltYWdlIn0&_nc_ht=scontent-lga3-3.cdninstagram.com&_nc_cat=104&_nc_ohc=z78dhDgDpIYQ7kNvgHJyUkU&_nc_gid=f2ac1ec695a641efaf48b3209e131728&edm=ABmJApABAAAA&ccb=7-5&ig_cache_key=MzU0OTM0NDQ0NjA2NjQ3MzEyMg%3D%3D.3-ccb7-5&oh=00_AYA9us6G1B70dSqrGEOyD-VLZKFawd1JaWiCwsIoZuClqQ&oe=679D7CE1&_nc_sid=b41fef +/Users/shixuesen/OneDrive/Pictures/instagram/cho_hyunyoung/ https://scontent-lga3-3.cdninstagram.com/v/t51.29350-15/470005171_567340272887766_9034273324045682386_n.heic?stp=dst-jpg_e35_tt6&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xMTAweDEzNzUuc2RyLmYyOTM1MC5kZWZhdWx0X2ltYWdlIn0&_nc_ht=scontent-lga3-3.cdninstagram.com&_nc_cat=106&_nc_ohc=Rj8vIP4KJaMQ7kNvgEus6rU&_nc_gid=b65b6140f23343ccaa0eec44f9bc2449&edm=ABmJApABAAAA&ccb=7-5&ig_cache_key=MzUyMTQyNTI2NDAwODE5NTExNA%3D%3D.3-ccb7-5&oh=00_AYBWGzxJSLNhJS6g2j3xoqu_ZkDzVVZeRr83ub3WzQjcjA&oe=679D4B97&_nc_sid=b41fef +/Users/shixuesen/OneDrive/Pictures/instagram/naughty_rabbit_/ https://scontent-lga3-2.cdninstagram.com/v/t51.29350-15/471800336_1252712816025805_6005809843855171370_n.jpg?stp=dst-jpg_e35_tt6&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xNDQweDE3OTkuc2RyLmYyOTM1MC5kZWZhdWx0X2ltYWdlIn0&_nc_ht=scontent-lga3-2.cdninstagram.com&_nc_cat=101&_nc_ohc=2VibQAK2sVQQ7kNvgFBqZLK&_nc_gid=87c15c27d73d49f7b9e37452c882d855&edm=ABmJApABAAAA&ccb=7-5&ig_cache_key=MzUzNDk3NzI1MTY4MjkyNjQzMQ%3D%3D.3-ccb7-5&oh=00_AYBknKfi6CFLdHlbgRF20I9WUMasCura649S83bc0Vqbwg&oe=679D6052&_nc_sid=b41fef