當你 google「Instagram 圖片 下載」時
會發現不是要你用打開某網站然後操作操作操作!#%#!@!最後才能下載,不然就是要下載APP然後又是操作操作操作!@#$@%##$%^才能下載
OS:「想下載一張圖片也太麻煩了吧!」
不用擔心了!因為真正的 Instagram 下載神器出爐了!操作簡單快速又方便,又可以快速跟在 Line 群組與好友們一起分享圖片!
以下會先講解製作此專案時時運用 API 的邏輯,歡迎大家一起串接實作~
我用此篇 API 實作了一個【Instagram小幫手】的 Linebot
以下為實作 Demo 結果
取得帳戶資料後請勿做商業行為,否則後果自行承擔唷~
此次實作目的:
需要使用的api為以下:
第一組 api 只需要輸入該 Instagram 的 account 即可取得資訊
第二組 api 只要 query_hash
參數不同,就能對應到各種不同的 api,所以需要仔細觀察一下喔~
實作步驟為:
{
"logging_page_id":"profilePage_XXXXXXXX",
"show_suggested_profiles":false,
"show_follow_dialog":false,
"graphql": {
"user": {
...
...
"id": "XXXXXXX", //用戶ID,很重要!!
...
...
}
}
}
query_id=17888483320059182&id={剛剛取得用戶ID}&first={要顯示數量(最多50筆)}
> *固定的 query_id,表示只要用這組query_id就可以取得個人文章列表 {
"data": {
"user": {
"edge_owner_to_timeline_media": {
"page_info": {
"has_next_page": true,
"end_cursor": "XXXXXXXXX" //上方after該帶入的資料
},
"edges":[
{
"node":{
...
...
...
"shortcode":XXXXXX //等等下個步驟會使用到,是取得單篇文章的資訊
}
},
...
...
]
....
}
}
}
}
query_hash=2c4c2e343a8f64c625ba02b2aa12c7f8
> 固定的 queryhash,表示只要用這組queryhash就可以取得個人單篇文章資料variables = { "shortcode":"XXXXXXXXX" }
{
"data": {
"shortcode_media": {
"__typename": "GraphSidecar",
"id": "2487561472394557464",
"shortcode": "CKFl_q_BngY",
...
...
...
}
}
整個api邏輯是這樣
如此一來就能獲的 Instagram 用戶的個人資料了
總結
最後需要提醒一下
上述 Instagram api 僅能取得
的資料,很重要!需要講三遍XD
私人帳號的部分
畢竟 Instagram 本來就有固定規則是「先追蹤,若對方同意追蹤」才能查看資料
或許有人會質疑:「幹嘛這麼大費周章!我直接看IG就好了啊!」
我的答覆:「實作動機是我在IG上有追蹤一個可愛的明星,然後有天看到她po文章照片,我實在覺得很可愛XD,想要保存照片當作手機桌布(抱歉癡漢本色爆發XDD),但此時我發現IG沒有提供【下載圖片/影片】的功能,然而必須要透過電腦瀏覽器的開發者模式,找到相對應的 Elements,再細追圖片來源在哪或者是找另外的app或網站額外下載。
由於這樣實在太麻煩了!所以才做了這個 Linebot,同時如果在朋友群組內也可以直接顯示該IG帳號的照片讓朋友一起看,而且不得不說....Linebot的輪播效果真的很棒,所以看的時候觀感更好XDDD」
最後附上傳送門
ID可搜尋:@418jlhkf
(由於server是架在heroku上,難免會有輸入後出現等待的情況...相信工程師各位都能瞭解QQ)
其實還有蠻多小細節,例如cookie或其他更多的應用方式其實沒講到
若真的有蠻多人對此專案有興趣的話
我會在寫詳細的教學實作文章出來並放上 source code
感謝大大們的觀看
感謝.bot回復的速度滿快的
原來是因為只有七個人訂閱 也許可以去ptt之類的論壇宣傳看看 通常這種bot 遊戲類的會比較多人使用 像是公主連結競技場或rank表之類的
感謝建議~我會在其他地方宣傳看看的^^
您好,想請問您將服務部屬在Heroku上
連接instagram公開帳號時,是否有遇到轉導登入頁面的問題呢?