我想开发一个PHP项目来获取Instagram帖子的内容(通过帖子URL)。我的意思是,例如,爬虫得到这个Url并返回:
#TBT Used to love carrying them both at once #twinmom #mycoconuts
#mylifeinmyhands #toobignow #istilltrysometimes #LOVE #forevermybabies
使用file_get_contents后,返回的响应为空。我不知道如何解决这个问题。你能帮助我吗?
我不想使用Instagram API!
你不应该使用它,因为它会在Instagram改变他们的标记后立即中断,但是你要去:
<?php
$instagram_url = "https://www.instagram.com/p/BX6IowXFbq9";
$source = file_get_contents($instagram_url);
preg_match('/<script type="text\/javascript">window\._sharedData =([^;]+);<\/script>/', $source, $matches);
$data = json_decode($matches[1]);
echo $data->entry_data->PostPage[0]->graphql->shortcode_media->edge_media_to_caption->edges[0]->node->text;
这有点晚,但我可以获取Instagram时间线,特定媒体详细信息。
E.g:
如果Instagram用户页面网址是https://www.instagram.com/marvel然后获取此页面数据,您可以使用以下URL
https://www.instagram.com/marvel?__a=1
如果Instagram发布详细信息页面网址是https://www.instagram.com/p/BfeD8RxHwnC/?taken-by=marvel然后获取此页面数据,您可以使用以下URL
https://www.instagram.com/p/BfeD8RxHwnC/?taken-by=marvel&__a=1