为了账号安全,请及时绑定邮箱和手机立即绑定

Instagram Story Scraper PHP

Instagram Story Scraper PHP

PHP
慕田峪4524236 2022-09-03 17:39:23
我建立了一个小的Instagram故事刮刀,但我不能让它工作...我可能只是太累了。我已经尝试了一切,但自己无法解决问题每次我用Wamp运行它时,我都会得到相同的错误这是我的索引.php文件<?phprequire_once('instagramStory.php');$story = new instagram_story();echo $story->getStory("garyvee");?>这是instagramStory.php<?phpclass instagram_story{    protected function file_get_contents_curl($url){        $cookies = dirname(__FILE__)."/cookie.txt" ;        $curl = curl_init();        curl_setopt ($curl, CURLOPT_URL, $url);        curl_setopt ($curl, CURLOPT_FOLLOWLOCATION, 1);        curl_setopt ($curl, CURLOPT_COOKIEFILE, $cookies);        curl_setopt ($curl, CURLOPT_RETURNTRANSFER, true);        $answer = curl_exec($curl);        curl_close($curl);        return $answer;    }    public function getStory($username){        $url = file_get_contents("https://www.instagram.com/$username/");        $json = '/sharedData\s=\s(.*[^\"]);<.script>/ixU';        preg_match_all($json, $url, $jsondata, PREG_SET_ORDER, 0);        $array = json_decode($jsondata[0][1], true);        $user_id = $array['entry_data']['ProfilePage']['0']['graphql']['user']['id'];        $stories = $this->file_get_contents_curl("https://www.instagram.com/graphql/query/?query_hash=de8017ee0a7c9c45ec4260733d81ea31&variables=%7B%22reel_ids%22%3A%5B%22$user_id%22%5D%2C%22tag_names%22%3A%5B%5D%2C%22location_ids%22%3A%5B%5D%2C%22highlight_reel_ids%22%3A%5B%5D%2C%22precomposed_overlay%22%3Afalse%2C%22show_story_viewer_list%22%3Atrue%2C%22story_viewer_fetch_count%22%3A50%2C%22story_viewer_cursor%22%3A%22%22%7D");        $data = json_decode($stories, true);        $stories = $data['data']['reels_media']['0']['items'];        $_story = [];        foreach ($stories as $story) {            $vid = 'video_resources';            if (!array_key_exists($vid, $story)) {                $_story [] = $story['display_url'];            } else {                $_story [] = $story['video_resources'][0]['src'];            }        }}?>
查看完整描述

2 回答

?
LEATH

TA贡献1936条经验 获得超6个赞

我正在与你检查同样的问题。显然,这是因为命令“foreach”正在访问一个空数组。

我仔细检查了数据,发现它是空的,因为它无法从instagram网站接收当前数据。$stories

当我尝试访问由程序在我自己的浏览器上创建的URL并记录ins帐户时,它可以正常工作。

所以问题是因为代码找不到当前的cookie。您应该在登录instagram网站后复制cookie,并将文件与.php文件放在同一文件夹中。$cookies = dirname(__FILE__)."/cookie.txt" ;cookie.txt


查看完整回答
反对 回复 2022-09-03
?
至尊宝的传说

TA贡献1789条经验 获得超10个赞

您收到该错误是因为您正在尝试循环访问不是数组的内容。

所以在第22行,你正在这样做:

$stories = $data['data']['reels_media']['0']['items'];

这显然是不正确的。尝试看看你得到什么输出,然后从那里开始。如果您仍在努力发布var_dump的结果。var_dump($data);


查看完整回答
反对 回复 2022-09-03
  • 2 回答
  • 0 关注
  • 191 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号