Browse Source

record

feature/new_bilibili_and_instagram_sxs20191126
shixuesen 4 years ago
parent
commit
602f20857f
6 changed files with 183 additions and 21 deletions
  1. +2
    -0
      app/Console/Commands/AcfunScrape.php
  2. +19
    -11
      app/Console/Commands/RecordDir.php
  3. +140
    -2
      app/Services/AcfunService.php
  4. +5
    -2
      app/Services/FfmpegService.php
  5. +9
    -6
      app/Services/XiurenjiService.php
  6. +8
    -0
      fail.log

+ 2
- 0
app/Console/Commands/AcfunScrape.php View File

@ -39,6 +39,8 @@ class AcfunScrape extends Command
public function handle() public function handle()
{ {
$service = new AcfunService(); $service = new AcfunService();
// $service->requestUpPageApi(4537972);exit;
// $service->queryUpUsersVideos(4537972);exit;
$service->downloadVideo(); $service->downloadVideo();
// //
} }


+ 19
- 11
app/Console/Commands/RecordDir.php View File

@ -5,6 +5,8 @@ namespace App\Console\Commands;
use App\ImageRecord; use App\ImageRecord;
use Illuminate\Console\Command; use Illuminate\Console\Command;
use App\Services\DirService; use App\Services\DirService;
use Illuminate\Database\QueryException;
use Illuminate\Support\Facades\Log;
class RecordDir extends Command class RecordDir extends Command
{ {
@ -49,17 +51,23 @@ class RecordDir extends Command
continue; continue;
} }
$fileInfo = pathinfo($file); $fileInfo = pathinfo($file);
$imageRecord = new ImageRecord();
$imageRecord->path = str_replace($path, "", $fileInfo["dirname"]);
$imageRecord->name = $fileInfo["basename"];
$imageRecord->type = 2;
// dump($imageRecord->getAttributes());
// $i++;
// if ($i > 100) {
// exit;
// }
// continue;
$imageRecord->save();
try {
$imageRecord = new ImageRecord();
$imageRecord->path = str_replace($path, "", $fileInfo["dirname"]);
$imageRecord->name = $fileInfo["basename"];
$imageRecord->type = 2;// dump($imageRecord->getAttributes());
// $i++;
// if ($i > 100) {
// exit;
// }
// continue;
$imageRecord->save();
} catch (QueryException $e) {
if (!str_contains($e->getMessage(), "Duplicate entry")) {
Log::error($e->getMessage());
}
}
unset($imageRecord);
} }
} }


+ 140
- 2
app/Services/AcfunService.php View File

@ -7,12 +7,17 @@ namespace App\Services;
use App\AcfunVideo; use App\AcfunVideo;
use Illuminate\Support\Arr; use Illuminate\Support\Arr;
use Log; use Log;
use QL\QueryList;
class AcfunService class AcfunService
{ {
private $CollectionUrl = "https://www.acfun.cn/rest/pc-direct/favorite/dougaList"; private $CollectionUrl = "https://www.acfun.cn/rest/pc-direct/favorite/dougaList";
private $upBaseUrl = "https://m.acfun.cn/upPage/";
public function queryCollectionVideos() public function queryCollectionVideos()
{ {
for ($i = 1; $i < 100; $i++) { for ($i = 1; $i < 100; $i++) {
@ -122,7 +127,7 @@ class AcfunService
public function downloadVideo() public function downloadVideo()
{ {
$innerDir = "/Volumes/intel660p/video/mv/acfun";
$innerDir = "/Volumes/Crucial X6/Video/acfun";
$list = AcfunVideo::all(); $list = AcfunVideo::all();
$files = scandir($innerDir); $files = scandir($innerDir);
@ -137,11 +142,144 @@ class AcfunService
} }
Log::info($item['title'] . " (" . $item["from_up_name"] . ").mp4" . " does not exists to download"); Log::info($item['title'] . " (" . $item["from_up_name"] . ").mp4" . " does not exists to download");
// exit; // exit;
$downloadResult = shell_exec('cd "' .$innerDir .'" && you-get https://www.acfun.cn/v/ac' . $item["content_id"]);
$downloadResult = shell_exec('cd "' .$innerDir .'" && annie https://www.acfun.cn/v/ac' . $item["content_id"]);
Log::info($downloadResult); Log::info($downloadResult);
$item["is_downloaded"] = 1; $item["is_downloaded"] = 1;
$item->save(); $item->save();
} }
} }
public function queryUpUsersVideos($upId)
{
$upUrl = $this->upBaseUrl . $upId;
$mainQl = QueryList::getInstance();
$pCursor = "";
$queried = 0;
do {
$result = $this->requestUpPageApi($upId, $pCursor);
$resourceIds = $mainQl->setHtml($result["html"])->find(".video-item")->attrs("resource-id");
$titles = $mainQl->setHtml($result["html"])->find(".video-name")->htmls();
dump($resourceIds);
foreach ($resourceIds as $key => $resourceId) {
AcfunVideo::firstOrCreate(["content_id" => $resourceId],
[
"title" => $titles[$key],
"from_type" => 2,
"from_collection_name" => "",
"from_up_name" => "香菜猫饼",
"from_up_user_id" => $upId
]);
}
$queried += $result["pageSize"];
Log::info("current queried: " . $queried);
if ($result["noMore"] || $queried > (int)$result["totalCount"]) {
break;
}
$pCursor = $result["pcursor"];
} while (true);
}
public function requestUpPage($upId)
{
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://m.acfun.cn/upPage/$upId?",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => array(
'authority: m.acfun.cn',
'pragma: no-cache',
'cache-control: no-cache',
'upgrade-insecure-requests: 1',
'user-agent: Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1',
'accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
'sec-fetch-site: none',
'sec-fetch-mode: navigate',
'sec-fetch-user: ?1',
'sec-fetch-dest: document',
'accept-language: zh-CN,zh;q=0.9',
'cookie: _did=web_492135297EB70FE5; acPasstoken=ChVpbmZyYS5hY2Z1bi5wYXNzdG9rZW4ScMqMOf7IIDgLFifcwDByiCz1Wv6zcyhwUzxFnkKxtITs0jGXUUuLWqDsl-7NGWvWwo5AcSoY2-Kjd3CZOXY7PNERtpJIdfyEJ4AFL7nlbdkjI_V_uUanyorcfQ7kaiWNig2_E6FVh7O8nRoGss5vf9saErqF0TDd7uDbNNp-mP7P0DOW_CIg24xq_0sWM6gTjuCWKKX9x7Yg_OpB1KtIk17LYCXdAPwoBTAB; auth_key=572984; ac_username=Nicksxs; acPostHint=b9f4cda120751d7200fa5158fa16dcbcaf88; ac_userimg=https%3A%2F%2Fimgs.aixifan.com%2Fstyle%2Fimage%2F201907%2FuQ5Vc06d3HSVTjY3VZocT81X40FByVpw.jpg; safety_id=AAJRRbRCoai0XjYzLsf70ktB; EGG_SESS=LeuVrD7spUl4PQfNroW9BEVd1JGguP_VHNuClb-BCn-E0TK-gvszCD8JicS8W_cFD8r34_e30N8vQt95J-5Pn7CoX6NDxA_Sm_p3S-E8GaWKY5L1qIfhe_n0viZOlC1RZN9e9wm6bVjMwJc04acrWA==; Hm_lvt_c68e829637dac3d1ad7a134d18b6064f=1641224120; webp_supported=%7B%22lossy%22%3Atrue%2C%22lossless%22%3Atrue%2C%22alpha%22%3Atrue%2C%22animation%22%3Atrue%7D; Hm_lvt_2af69bc2b378fb58ae04ed2a04257ed1=1641223365,1641261026; Hm_lpvt_2af69bc2b378fb58ae04ed2a04257ed1=1641261026; _did=web_492135297EB70FE5'
),
));
$response = curl_exec($curl);
curl_close($curl);
return $response;
}
public function requestUpPageApi($upId, $pcursor = "") {
if ($upId == null) {
return "";
}
$url = "https://m.acfun.cn/upPage/$upId?pagelets=video-list&reqID=4&ajaxpipe=1&userId=$upId&type=3";
if ($pcursor != null && $pcursor != "") {
$url .= "&pcursor=$pcursor";
}
$url .= "&t=" . (int)(microtime(true)*1000);
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => $url,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => array(
'authority: m.acfun.cn',
'pragma: no-cache',
'cache-control: no-cache',
'user-agent: Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1',
'x-requested-with: XMLHttpRequest',
'accept: */*',
'sec-fetch-site: same-origin',
'sec-fetch-mode: cors',
'sec-fetch-dest: empty',
'referer: https://m.acfun.cn/upPage/4537972?',
'accept-language: zh-CN,zh;q=0.9',
'cookie: _did=web_492135297EB70FE5; acPasstoken=ChVpbmZyYS5hY2Z1bi5wYXNzdG9rZW4ScMqMOf7IIDgLFifcwDByiCz1Wv6zcyhwUzxFnkKxtITs0jGXUUuLWqDsl-7NGWvWwo5AcSoY2-Kjd3CZOXY7PNERtpJIdfyEJ4AFL7nlbdkjI_V_uUanyorcfQ7kaiWNig2_E6FVh7O8nRoGss5vf9saErqF0TDd7uDbNNp-mP7P0DOW_CIg24xq_0sWM6gTjuCWKKX9x7Yg_OpB1KtIk17LYCXdAPwoBTAB; auth_key=572984; ac_username=Nicksxs; acPostHint=b9f4cda120751d7200fa5158fa16dcbcaf88; ac_userimg=https%3A%2F%2Fimgs.aixifan.com%2Fstyle%2Fimage%2F201907%2FuQ5Vc06d3HSVTjY3VZocT81X40FByVpw.jpg; safety_id=AAJRRbRCoai0XjYzLsf70ktB; EGG_SESS=LeuVrD7spUl4PQfNroW9BEVd1JGguP_VHNuClb-BCn-E0TK-gvszCD8JicS8W_cFD8r34_e30N8vQt95J-5Pn7CoX6NDxA_Sm_p3S-E8GaWKY5L1qIfhe_n0viZOlC1RZN9e9wm6bVjMwJc04acrWA==; webp_supported=%7B%22lossy%22%3Atrue%2C%22lossless%22%3Atrue%2C%22alpha%22%3Atrue%2C%22animation%22%3Atrue%7D; Hm_lvt_2af69bc2b378fb58ae04ed2a04257ed1=1641223365,1641261026; Hm_lpvt_2af69bc2b378fb58ae04ed2a04257ed1=1641261026; cur_req_id=9320591763A17878_self_e9df062d443158972b38326847c62945; cur_group_id=9320591763A17878_self_e9df062d443158972b38326847c62945_0; Hm_lvt_c68e829637dac3d1ad7a134d18b6064f=1641224120,1641263656; Hm_lpvt_c68e829637dac3d1ad7a134d18b6064f=1641263656; _did=web_492135297EB70FE5'
),
));
$response = curl_exec($curl);
curl_close($curl);
// echo $response;
$replaced = str_replace("/*<!-- fetch-stream -->*/", "", $response);
$result = json_decode($replaced, true);
$scripts = $result["scripts"][0];
preg_match_all("#no_more#", $scripts, $noMore);
if (count($noMore[0]) > 0) {
dump($noMore);
$result["noMore"] = true;
} else {
preg_match_all("#\"pcursor\"\:\"(\d+)\"#", $scripts, $pcursors);
$parsed["pcursor"] = $pcursors[1][0];
}
preg_match_all("#\"totalCount\"\:(\d+)#", $scripts, $totalCounts);
$parsed["totalCount"] = $totalCounts[1][0];
preg_match_all("#\"videoFeedLength\"\:(\d+)#", $scripts, $pageSizes);
$parsed["pageSize"] = $pageSizes[1][0];
$parsed["html"] = $result["html"];
unset($result);
return $parsed;
}
} }

+ 5
- 2
app/Services/FfmpegService.php View File

@ -116,9 +116,11 @@ class FfmpegService
return; return;
} }
if (Redis::sismember("unneed", $fileInfo["filename"])) { if (Redis::sismember("unneed", $fileInfo["filename"])) {
Log::info("in uneed: " . $fileInfo["filename"]);
return; return;
} }
if (!$this->checkFileSize($pathFile)) { if (!$this->checkFileSize($pathFile)) {
Log::info("filesize: " . $fileInfo["filename"]);
return; return;
} }
if ($this->checkFileEncodeType($pathFile)) { if ($this->checkFileEncodeType($pathFile)) {
@ -146,6 +148,7 @@ class FfmpegService
Log::info("process target file : $targetFile"); Log::info("process target file : $targetFile");
$result = shell_exec("ffmpeg -threads 4 -i ". escapeshellarg($pathFile) ." -preset ultrafast -c:v libx265 -vtag hvc1 " . escapeshellarg($targetFile) . " && echo 'ok'"); $result = shell_exec("ffmpeg -threads 4 -i ". escapeshellarg($pathFile) ." -preset ultrafast -c:v libx265 -vtag hvc1 " . escapeshellarg($targetFile) . " && echo 'ok'");
echo $result; echo $result;
return;
if (trim($result) == "ok") { if (trim($result) == "ok") {
echo "compress work done remove the file \n"; echo "compress work done remove the file \n";
Log::info("compress work done remove the file"); Log::info("compress work done remove the file");
@ -250,11 +253,11 @@ class FfmpegService
public function checkFileSize($file, $size = 1): bool public function checkFileSize($file, $size = 1): bool
{ {
if (is_file($file) && filesize($file) > 10 * 1024 * 1024) {
if (is_file($file) && filesize($file) > 1 * 1024 * 1024) {
return true; return true;
} }
$fileSize = FileUtils::humanFilesize(filesize($file)); $fileSize = FileUtils::humanFilesize(filesize($file));
echo "$file size < 10Mb filesize is $fileSize skip \n";
echo "$file size < 1Mb filesize is $fileSize skip \n";
return false; return false;
} }


+ 9
- 6
app/Services/XiurenjiService.php View File

@ -63,16 +63,20 @@ class XiurenjiService
$pageSize = 3; $pageSize = 3;
$items = $pageContent->find(".ina p:nth-child(2)")->texts(); $items = $pageContent->find(".ina p:nth-child(2)")->texts();
$pageItems = $pageContent->find(".page a:eq(-2)")->htmls(); $pageItems = $pageContent->find(".page a:eq(-2)")->htmls();
$isSinglePage = false;
$pageCount = 0;
if (count($pageItems) <= 0) { if (count($pageItems) <= 0) {
dump("this album is error: ". $url);
Log::error("this album is error: " . $url);
return;
$isSinglePage = true;
$pageCount = 1;
// dump("this album is error: ". $url);
// Log::error("this album is error: " . $url);
// return;
} }
// dump($pageItems);exit; // dump($pageItems);exit;
foreach ($items as $item) {
$item = $items[0];
// $imageNum = substr($item, strrpos($item, "[") + 1, strrpos($item, "P]") - strrpos($item, "[") - 1); // $imageNum = substr($item, strrpos($item, "[") + 1, strrpos($item, "P]") - strrpos($item, "[") - 1);
// $pageCount = ceil($imageNum / $pageSize); // $pageCount = ceil($imageNum / $pageSize);
$pageCount = (int)$pageItems[0];
$pageCount = $pageCount > 0 ? $pageCount : (int)$pageItems[0];
// dump("pageCount: ". $pageCount . "");exit; // dump("pageCount: ". $pageCount . "");exit;
$slashPos = strpos($url, "XiuRen/") + 7; $slashPos = strpos($url, "XiuRen/") + 7;
$dotPos = strrpos($url, "."); $dotPos = strrpos($url, ".");
@ -98,7 +102,6 @@ class XiurenjiService
// dump("slashPos: " . $slashPos . " dotPos: " . $dotPos . " albumCode: ". $albumCode); // dump("slashPos: " . $slashPos . " dotPos: " . $dotPos . " albumCode: ". $albumCode);
// dump($item); // dump($item);
// exit; // exit;
}
} }
public function parseContent($dir, $pageContent, &$imageNo) public function parseContent($dir, $pageContent, &$imageNo)


+ 8
- 0
fail.log View File

@ -2404,3 +2404,11 @@
/Users/shixuesen/OneDrive/Pictures/instagram/cherry_quahst/ https://scontent-lax3-1.cdninstagram.com/o1/v/t16/f1/m38/A446BFBD6ED502A7309884E0DF5929A7_video_dashinit.mp4?efg=eyJ2ZW5jb2RlX3RhZyI6InZ0c192b2RfdXJsZ2VuLjcyMC5zdG9yeS5iYXNlbGluZW9pbCJ9&_nc_ht=scontent-lax3-1.cdninstagram.com&_nc_cat=110&vs=517909086312108_3931211438&_nc_vs=HBkcFQIYRGlnX3hwdl9lcGhlbWVyYWwvQTQ0NkJGQkQ2RUQ1MDJBNzMwOTg4NEUwREY1OTI5QTdfdmlkZW9fZGFzaGluaXQubXA0FQACyAEAKAAYABsBiAd1c2Vfb2lsATEVAAAmluXyiq%2FY0z8VAigCQzMsF0ATMzMzMzMzGBVkYXNoX2Jhc2VsaW5lb2lsXzVfdjERAHXoBwA%3D&_nc_rid=5721fa51f9&ccb=9-4&oe=61BA734B&oh=00_AT96zUVpG7fv3FPmfoLsYRXUUsgTQtfSF2GYCymIe34SkA&_nc_sid=bab638 /Users/shixuesen/OneDrive/Pictures/instagram/cherry_quahst/ https://scontent-lax3-1.cdninstagram.com/o1/v/t16/f1/m38/A446BFBD6ED502A7309884E0DF5929A7_video_dashinit.mp4?efg=eyJ2ZW5jb2RlX3RhZyI6InZ0c192b2RfdXJsZ2VuLjcyMC5zdG9yeS5iYXNlbGluZW9pbCJ9&_nc_ht=scontent-lax3-1.cdninstagram.com&_nc_cat=110&vs=517909086312108_3931211438&_nc_vs=HBkcFQIYRGlnX3hwdl9lcGhlbWVyYWwvQTQ0NkJGQkQ2RUQ1MDJBNzMwOTg4NEUwREY1OTI5QTdfdmlkZW9fZGFzaGluaXQubXA0FQACyAEAKAAYABsBiAd1c2Vfb2lsATEVAAAmluXyiq%2FY0z8VAigCQzMsF0ATMzMzMzMzGBVkYXNoX2Jhc2VsaW5lb2lsXzVfdjERAHXoBwA%3D&_nc_rid=5721fa51f9&ccb=9-4&oe=61BA734B&oh=00_AT96zUVpG7fv3FPmfoLsYRXUUsgTQtfSF2GYCymIe34SkA&_nc_sid=bab638
/Users/shixuesen/OneDrive/Pictures/instagram/Likes/ https://scontent-lax3-2.cdninstagram.com/v/t51.2885-15/e35/269789502_640795550688030_6547086535616069361_n.jpg?se=7&_nc_ht=scontent-lax3-2.cdninstagram.com&_nc_cat=106&_nc_ohc=nwhRj_yUwh8AX8R3V6F&edm=APv5SkIBAAAA&ccb=7-4&ig_cache_key=MjczNTczNjAyNzcyMzE3NjAxMQ%3D%3D.2-ccb7-4&oh=00_AT-BgQgxKQcKcohqYtQNkcvuwVuwA8C_e8lk-OwvBFWznQ&oe=61CF0A16&_nc_sid=7479f6 /Users/shixuesen/OneDrive/Pictures/instagram/Likes/ https://scontent-lax3-2.cdninstagram.com/v/t51.2885-15/e35/269789502_640795550688030_6547086535616069361_n.jpg?se=7&_nc_ht=scontent-lax3-2.cdninstagram.com&_nc_cat=106&_nc_ohc=nwhRj_yUwh8AX8R3V6F&edm=APv5SkIBAAAA&ccb=7-4&ig_cache_key=MjczNTczNjAyNzcyMzE3NjAxMQ%3D%3D.2-ccb7-4&oh=00_AT-BgQgxKQcKcohqYtQNkcvuwVuwA8C_e8lk-OwvBFWznQ&oe=61CF0A16&_nc_sid=7479f6
/Users/shixuesen/OneDrive/Pictures/instagram/tngnlo/ https://scontent-lax3-2.cdninstagram.com/v/t50.16885-16/10000000_1179129612861553_5218515111065676073_n.mp4?efg=eyJ2ZW5jb2RlX3RhZyI6InZ0c192b2RfdXJsZ2VuLjcyMC5pZ3R2LmJhc2VsaW5lIn0&_nc_ht=scontent-lax3-2.cdninstagram.com&_nc_cat=101&_nc_ohc=Yx_liWyB1EMAX_61oti&edm=ABmJApABAAAA&vs=1351693768591093_990667624&_nc_vs=HBksFQAYJEdJQ1dtQUJ4QUxpQmFUQUVBQ25wRXpyWTQydElidlZCQUFBRhUAAsgBABUAGCRHQkdJSFJEMEhpSUd0bXNEQUwzQnpnMDhtblFaYnZWQkFBQUYVAgLIAQAoABgAGwGIB3VzZV9vaWwBMRUAACa%2B6OHG5MrIPxUCKAJDMywXQExVP3ztkWgYEmRhc2hfYmFzZWxpbmVfMV92MREAdewHAA%3D%3D&_nc_rid=be13d5d6f0&ccb=7-4&oe=61CDE5F5&oh=00_AT9v2q12IjXPURvOeUBxFQgNggGX2H7PxT-3g7SGWUSaLw&_nc_sid=6136e7 /Users/shixuesen/OneDrive/Pictures/instagram/tngnlo/ https://scontent-lax3-2.cdninstagram.com/v/t50.16885-16/10000000_1179129612861553_5218515111065676073_n.mp4?efg=eyJ2ZW5jb2RlX3RhZyI6InZ0c192b2RfdXJsZ2VuLjcyMC5pZ3R2LmJhc2VsaW5lIn0&_nc_ht=scontent-lax3-2.cdninstagram.com&_nc_cat=101&_nc_ohc=Yx_liWyB1EMAX_61oti&edm=ABmJApABAAAA&vs=1351693768591093_990667624&_nc_vs=HBksFQAYJEdJQ1dtQUJ4QUxpQmFUQUVBQ25wRXpyWTQydElidlZCQUFBRhUAAsgBABUAGCRHQkdJSFJEMEhpSUd0bXNEQUwzQnpnMDhtblFaYnZWQkFBQUYVAgLIAQAoABgAGwGIB3VzZV9vaWwBMRUAACa%2B6OHG5MrIPxUCKAJDMywXQExVP3ztkWgYEmRhc2hfYmFzZWxpbmVfMV92MREAdewHAA%3D%3D&_nc_rid=be13d5d6f0&ccb=7-4&oe=61CDE5F5&oh=00_AT9v2q12IjXPURvOeUBxFQgNggGX2H7PxT-3g7SGWUSaLw&_nc_sid=6136e7
/Users/shixuesen/OneDrive/Pictures/instagram/duyenn.hipp/ https://scontent-lax3-1.cdninstagram.com/v/t51.2885-15/e35/271263751_605258770535584_8577345649630696487_n.jpg?se=7&_nc_ht=scontent-lax3-1.cdninstagram.com&_nc_cat=104&_nc_ohc=UoQgHctPdIIAX_0teDD&edm=ABmJApABAAAA&ccb=7-4&ig_cache_key=Mjc0MjEwNDQ2MTg5NDYzNjgzNg%3D%3D.2-ccb7-4&oh=00_AT8oWzj0DnylLB6kFKYuRejESuGLqA_YFembTPPNGj47Tg&oe=61D9E370&_nc_sid=6136e7
/Users/shixuesen/OneDrive/Pictures/instagram/duyenn.hipp/ https://scontent-lax3-1.cdninstagram.com/v/t51.2885-15/e35/271031903_1078536436272556_7259183293266753042_n.jpg?se=7&_nc_ht=scontent-lax3-1.cdninstagram.com&_nc_cat=104&_nc_ohc=4brIBakMdqQAX8bn4Rj&edm=ABmJApABAAAA&ccb=7-4&ig_cache_key=Mjc0MjEwNDQ2MTg5NDY4MDA4OA%3D%3D.2-ccb7-4&oh=00_AT8Q6HeUQJNHLYqMY9-o1F7IW7zk1eo_uYsYJOXBBBHHwg&oe=61D9AF35&_nc_sid=6136e7
/Users/shixuesen/OneDrive/Pictures/instagram/duyenn.hipp/ https://scontent-lax3-2.cdninstagram.com/v/t51.2885-15/e35/270202739_496522148462701_8177899831261518536_n.jpg?se=7&_nc_ht=scontent-lax3-2.cdninstagram.com&_nc_cat=101&_nc_ohc=v6q7f3uDr9QAX9Cuc37&edm=ABmJApABAAAA&ccb=7-4&ig_cache_key=Mjc0MjEwNDQ2MTg4NjMwNzgxMw%3D%3D.2-ccb7-4&oh=00_AT9Wm8BsGJxhgKgDftWy6Axisy80uMWACdH3LZ_kNnzqWg&oe=61D905E4&_nc_sid=6136e7
/Users/shixuesen/OneDrive/Pictures/instagram/duyenn.hipp/ https://scontent-lax3-2.cdninstagram.com/v/t51.2885-15/e35/p480x480/271188062_257537829802080_5923626613842640440_n.jpg?_nc_ht=scontent-lax3-2.cdninstagram.com&_nc_cat=100&_nc_ohc=dFgricFDfC8AX-hIZ2d&edm=ABmJApABAAAA&ccb=7-4&ig_cache_key=Mjc0MjAwNjE1NjYxMDM0NzgxNA%3D%3D.2-ccb7-4&oh=00_AT_SJYFaoV99USM_IPhuhkCHE-1S0-XCUnpnG01Ik3jpfA&oe=61DA1D5D&_nc_sid=6136e7
/Users/shixuesen/OneDrive/Pictures/instagram/duyenn.hipp/ https://scontent-lax3-2.cdninstagram.com/v/t51.2885-15/e35/271052303_600897491015473_6668187290512629188_n.jpg?se=7&_nc_ht=scontent-lax3-2.cdninstagram.com&_nc_cat=101&_nc_ohc=epf_iOe0YisAX_T_0lW&edm=ABmJApABAAAA&ccb=7-4&ig_cache_key=Mjc0MjEwNDQ2MTkwMzAwNjgzMQ%3D%3D.2-ccb7-4&oh=00_AT9HyPqnbNqzLEPC80DQs1JjvME7YahoY6oNS91q_I7rjQ&oe=61DA1AFA&_nc_sid=6136e7
/Users/shixuesen/OneDrive/Pictures/instagram/duyenn.hipp/ https://scontent-lax3-2.cdninstagram.com/v/t51.2885-15/e35/271023175_690888875412119_539636855243307136_n.jpg?se=7&_nc_ht=scontent-lax3-2.cdninstagram.com&_nc_cat=111&_nc_ohc=uX8kSCWkRdkAX-ESbX3&edm=ABmJApABAAAA&ccb=7-4&ig_cache_key=Mjc0MjEwNDQ2MjAwMzcxNTUyMg%3D%3D.2-ccb7-4&oh=00_AT9u-NUFO26OzvXmNv82rLjcg3LyNuZn047A8eTYPwvzvA&oe=61D964CA&_nc_sid=6136e7
/Users/shixuesen/OneDrive/Pictures/instagram/duyenn.hipp/ https://scontent-lax3-2.cdninstagram.com/v/t51.2885-15/e35/271200431_406072771311487_3149765346719126659_n.jpg?se=7&_nc_ht=scontent-lax3-2.cdninstagram.com&_nc_cat=107&_nc_ohc=vmY2J-jCQJQAX9G5WJF&edm=ABmJApABAAAA&ccb=7-4&ig_cache_key=Mjc0MjEwNDQ2MTkxMTM3NzM2MQ%3D%3D.2-ccb7-4&oh=00_AT_AWjgpeZtbY2FimwMPXSsJ-8w3-N5N2d6bo8r_PmxaBg&oe=61D9D733&_nc_sid=6136e7
/Users/shixuesen/OneDrive/Pictures/instagram/duyenn.hipp/ https://scontent-lax3-1.cdninstagram.com/v/t51.2885-15/e35/p480x480/271184973_1101596533921696_3101847491200714204_n.jpg?_nc_ht=scontent-lax3-1.cdninstagram.com&_nc_cat=104&_nc_ohc=TOnuDg8jNGoAX9fYYjY&edm=ABmJApABAAAA&ccb=7-4&ig_cache_key=Mjc0MjAwNjE1NzkwMjQ4MjA0MA%3D%3D.2-ccb7-4&oh=00_AT8VY0T2re4YqMfthluidg7dx3aHiyqCWFeHW1js-Sq5RQ&oe=61DA983E&_nc_sid=6136e7

Loading…
Cancel
Save