下記のサイトに掲載されているコードを一部改変して試してみましたが、うまくいかないようです。
HTML
1<script> 2 $(function () { 3 try { 4 this.name = "【InstagramのID】"; 5 $.ajax('https://www.instagram.com/' + this.name + '/', { 6 timeout: 2000, 7 datatype: 'html' 8 }).then(function (data) { 9 json_string = data.split("window._sharedData = ")[1]; 10 json_string = json_string.split("};</script>")[0] + "}"; 11 this.Arrya_data = JSON.parse(json_string); 12 let datas = this.Arrya_data.entry_data.ProfilePage[0].graphql.user.edge_owner_to_timeline_media.edges; 13 //表示件数12の場合 14 for (var i=0; i<12; i++) { 15 url = datas[i].node.display_url; 16 this.html = ` 17 <div> 18 <a target="_blank" href="https://www.instagram.com/'${name}'/'" style="background-image: url('${url}');"></a> 19 </div> 20 `; 21 $("#instagram_box").append(this.html); 22 } 23 }); 24 } catch (error) { 25 alert(error); 26 } 27 }); 28</script> 29 30 31<div id="instagram_box"> 32【この中に出力される】 33</div>
改変した部分ですが、insta-card → instagram_box としました。
※ IDについては、こちらの質問前に、一時的に【InstagramのID】と変えさせていただいております。
確認してみると、このようになります。
また、VS Codeを使っており、そのままコピペしたのですが、このようにオレンジ色の波線が出ています。
json_string = json_string.split("};</script>")[0] + "}";
こちらの</script>
の < のところです。
何がおかしいか、詳しい方いらっしゃいましたら教えてください。
よろしくお願いいたしますm(_ _)m
回答3件
あなたの回答
tips
プレビュー