Javascript 在php中获取相同大小的图像
我创建了一个应用程序,用于获取Instagram标签图像作为输出。我可以加载图像。但我需要得到同样大小的图像。有人帮我解决这个问题吗 这是代码Javascript 在php中获取相同大小的图像,javascript,php,instagram-api,Javascript,Php,Instagram Api,我创建了一个应用程序,用于获取Instagram标签图像作为输出。我可以加载图像。但我需要得到同样大小的图像。有人帮我解决这个问题吗 这是代码 <?php function scrape_insta_hash($tag) { $insta_source = file_get_contents('https://www.instagram.com/explore/tags/'.$tag.'/'); $shards = explode('
<?php
function scrape_insta_hash($tag) {
$insta_source =
file_get_contents('https://www.instagram.com/explore/tags/'.$tag.'/');
$shards = explode('window._sharedData = ', $insta_source);
$insta_json = explode(';</script>', $shards[1]);
$insta_array = json_decode($insta_json[0], TRUE);
return $insta_array;
}
$tag = 'savesripada';
$results_array = scrape_insta_hash($tag);
$limit = 15;
$image_array= array();
for ($i=0; $i < $limit; $i++) {
$latest_array = $results_array['entry_data']['TagPage'][0]['graphql']['hashtag']['edge_hashtag_to_media']['edges'][$i]['node'];
$image_data = '<img src="'.$latest_array['thumbnail_src'].'">';
array_push($image_array, $image_data);
}
foreach ($image_array as $image) {
echo $image;
}
?>
您可以执行以下操作:
<?php
$tag = 'savesripada';
$results_array = scrape_insta_hash($tag);
$image_array = array_filter(
$results_array['entry_data']['TagPage'][0]['graphql']['hashtag']['edge_hashtag_to_media']['edges'],
function($item) {
$size = $item['node']['dimensions']; // example : [height: 810, width: 1080]
return $size['height'] === '130' && $size['width'] === '150'; // Adjust your condition if you want another metrix
});
var_dump($image_array); // Will print image with exactly 150*130
以下代码将根据需要调整图像大小
<?php
$height = 150;
$width = 150;
function scrape_insta_hash($tag) {
$insta_source =
file_get_contents('https://www.instagram.com/explore/tags/'.$tag.'/');
$shards = explode('window._sharedData = ', $insta_source);
$insta_json = explode(';</script>', $shards[1]);
$insta_array = json_decode($insta_json[0], TRUE);
return $insta_array;
}
$tag = 'savesripada';
$results_array = scrape_insta_hash($tag);
$limit = 15;
$image_array= array();
for ($i=0; $i < $limit; $i++) {
$latest_array = $results_array['entry_data']['TagPage'][0]['graphql']['hashtag']['edge_hashtag_to_media']['edges'][$i]['node'];
$image_data = '<img height="'.$height.'" width="'.$width.'" src="'.$latest_array['thumbnail_src'].'">';
array_push($image_array, $image_data);
}
foreach ($image_array as $image) {
echo $image;
}
?>
返回所有大小相同的图像。@Yvette Colomb♦ 您删除的答案就是问题的实际答案。您可以从另一个已标记为重复的问题中删除。