[Flickr工具] PythonAnywhere雲端執行Python生成Flickr相簿圖片連結

iShot_2024-05-25_18.25.33

還記得我們先前介紹的「flickr生成圖片程式」文章嗎?它好用沒錯,但需要於本機執行,碰到裝備沒安裝執行環境時,加上如果你的同事寫文章時也想生成flickr相簿中的圖片,就會無用武之地。這次我們直接在PythonAnywhere這個可免費於雲端執行Python的網站,執行Python,獲取flickr相簿圖片連結編碼。

PythonAnywhere是一個線上的Python開發和主機環境。它提供了一個完整的Python環境,你可以在其中編寫、運行和部署你的Python應用。我們這次就用它來搭建一個生成Flickr圖片連結編碼的環境來隨時執行你的Python。

iShot_2024-05-25_18.43.16 ▲先到Flickr網站申請API,不是拿來賺錢的就點「申請非商用Key」即可。

PythonAnywhere搭建環境

  • 註冊PythonAnywhere帳號:並登入到你的控制台。
  • 創建一個新的Bash控制台:在你的控制台中,選擇「Consoles」選項,然後點擊「Bash」來創建一個新的Bash控制台。
  • 創建一個新的Python檔案:在Bash控制台中,你可以使用nano命令來創建一個新的Python檔案,例如nano flickr.py。然後,將你的Python程式碼複製並貼上到這個檔案中,並保存( ⌃+ o)退出( ⌃+ x)。

iShot_2024-05-25_18.41.15

點擊「Bash」後輸入「nano flickr.py」再填入下面代碼,記得「api_key = ‘這邊填入你的flickr API’」請填入自己的flickr API。

import requests
import argparse

def get_photo_links(album_id, api_key):
    url = f"https://www.flickr.com/services/rest/?method=flickr.photosets.getPhotos&api_key={api_key}&photoset_id={album_id}&format=json&nojsoncallback=1"
    response = requests.get(url)
    data = response.json()

    photo_links = []
    for photo in data['photoset']['photo']:
        photo_id = photo['id']
        farm_id = photo['farm']
        server_id = photo['server']
        secret = photo['secret']

        link = f"https://farm{farm_id}.staticflickr.com/{server_id}/{photo_id}_{secret}_b.jpg"
        img_tag = f'<img src="{link}" alt="{photo["title"]}">'
        photo_links.append(img_tag)

    return photo_links

def main():
    parser = argparse.ArgumentParser(description='Get links to all photos in a Flickr album.')
    parser.add_argument('album_id', help='The ID of the Flickr album.')
    args = parser.parse_args()

    api_key = '這邊填入你的flickr API'
    photo_links = get_photo_links(args.album_id, api_key)

    print('──請複製下面編碼後貼到Wordpress文章編輯器「文字」模式中──')
    for link in photo_links:
        print(link)

if __name__ == "__main__":
    main()

  • 運行Python程式碼:你可以在Bash控制台中使用python3 flickr.py xxx(xxx為相簿ID)命令來運行你的Python程式碼。

iShot_2024-05-25_17.50.36 ▲Flickr的相簿ID可在網址列查看。

iShot_2024-05-25_18.37.14 ▲PythonAnywhere可已分享給其他人使用,不需要再請他們做跟你一樣的事。

iShot_2024-05-25_20.57.50

▲PythonAnywhere分享出去,該位被分享人的email會收到連結,點開即可使用。

iShot_2024-05-25_18.22.11▲被分享的朋友可直接輸入「python3 flickr.py xxx(xxx為相簿ID)」獲得圖片連結。

  • 複製貼上圖片連結編碼:先複製圖片連結編碼後,貼到Wordpress編輯器的「文字」模式中,切回「預覽」模式即可看到你的圖片都過來了。

iShot_2024-05-25_17.55.37iShot_2024-05-25_17.56.10

玩家總結

雖然沒有Flickrlinkr圖像式介面方便,但以相簿為單位將圖片連結編碼全部先貼到Wordpress編輯器中,再加以與文字段落編排,也是相當方便的。畢竟AI時代碰到不能使用的工具,自己搭建一個來用,也並非難事。

延伸閱讀:
vivo X100 Pro超強蔡司長焦微距攝影手機開箱動手玩
Apple推出M3系列晶片MacBook Pro!14吋MacBook Pro NT$54,900起、新增太空黑色

福特Mustang Mach-E發表上市!不只林襄站台、更香的七代吃油野馬也現身
Google台灣辦公室開箱動手玩