搜尋
首頁後端開發Python教學如何使用 Python 向 DEV 發布文章

介紹

作為一個經常撰寫文章的 Obsidian 用戶,我發現手動將 Markdown 內容發佈到 DEV.to 非常耗時。為了簡化這個過程,我開發了一個 Python 腳本,可以自動執行直接發佈到 DEV.to 的過程。在本指南中,我將向您展示如何使用 Python 和 DEV.to API 來簡化您的文章發布工作流程。

先決條件

在我們深入研究程式碼之前,您需要以下內容:
DEV API 金鑰:您可以透過登入您的 DEV 帳戶並導覽至 API 金鑰部分來產生此金鑰。
已安裝Python:確保您的系統上安裝了Python 3.x。

工作流程

我們將把這個過程分成三個步驟:

  1. 取得文章的Markdown內容
  2. 準備並發送請求發布文章。
  3. 處理回覆以確認文章已發佈。

Python 腳本

以下是完整的 Python 腳本,用於自動將文章發佈到 DEV 的過程。

import webbrowser
import requests
import json

# API headers including the DEV API key
headers_dev = {
    "Content-Type": "application/json",
    "api-key": API_KEY,  # Replace API_KEY with your actual DEV API key
}

# Function to read markdown content from a file
def get_markdown_content(markdown_path):
    with open(markdown_path, 'r') as file:
        markdown_content = file.read()
    return markdown_content

# Function to publish an article to DEV
def publish_article_dev(markdown_content):
    # Set up the payload with article data
    article_payload = {
        "article": {
            "title": "Your Article Title Here",  # Replace with the actual title
            "body_markdown": markdown_content,
            "published": False,
        }
    }

    # Make a POST request to DEV's API to publish the article
    response = requests.post(
        url='https://dev.to/api/articles',
        headers=headers_dev,
        data=json.dumps(article_payload)
    )

    # Check if the request was successful
    if response.status_code == 201:
        print("Article published successfully!")
        print("Response:", response.json())
        # Open the DEV dashboard in the browser
        webbrowser.open('https://dev.to/dashboard')
    else:
        print(f"Failed to publish article. Status code: {response.status_code}")
        print("Response:", response.json())

# Example usage:
# Replace 'path_to_your_markdown_file.md' with the actual path to your markdown file
markdown_content = get_markdown_content('path_to_your_markdown_file.md')
publish_article_dev(markdown_content)

請記住,如果您設定已發布:True,則該文章將在 DEV 上即時發布並對公眾可見。如果您要將文章儲存為草稿以供日後編輯或審閱,請設定已發佈:False。這使您可以靈活地管理帖子。

在 DEV 文章的 body_markdown 中,您可以包含可選的 front Matter 部分,以為文章提供其他元資料。

How to Publish an Article to DEV Using Python

此部分包含在內容開頭的 --- 內,可以包含標題、已發佈、標籤、日期、系列、canonical_url 和 cover_image 等欄位。

如果你使用像 Obsidian 這樣的 Markdown 編輯器,你可以使用 Cmd/Ctrl+ 快速插入這些屬性;為註解新增屬性。

這是我的 Obsidian 中屬性設定的快照:
How to Publish an Article to DEV Using Python

結論

使用 Python 自動化向 DEV 發布文章的過程可以改變遊戲規則,特別是當您發布多篇文章或為團隊管理內容時。 DEV API 非常簡單,可以輕鬆整合到您現有的工作流程中。

透過此設置,您就可以開始在 DEV 上自動發布文章了。快樂編碼!


探索更多

How to Publish an Article to DEV Using Python

劉盧卡

你好呀! ?我是 Luca,對所有數據充滿熱情的商業智慧開發人員。精通 Python、SQL、Power BI、Tableau、SAP 業務對象。

感謝您花時間與我一起探索與數據相關的見解。感謝您的參與。

?在 LinkedIn 上與我聯繫

How to Publish an Article to DEV Using Python

以上是如何使用 Python 向 DEV 發布文章的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
Python的混合方法:編譯和解釋合併Python的混合方法:編譯和解釋合併May 08, 2025 am 12:16 AM

pythonuseshybridapprace,ComminingCompilationTobyTecoDeAndInterpretation.1)codeiscompiledtoplatform-Indepententbybytecode.2)bytecodeisisterpretedbybythepbybythepythonvirtualmachine,增強效率和通用性。

了解python的' for”和' then”循環之間的差異了解python的' for”和' then”循環之間的差異May 08, 2025 am 12:11 AM

theKeyDifferencesBetnewpython's“ for”和“ for”和“ loopsare:1)” for“ loopsareIdealForiteringSequenceSquencesSorkNowniterations,而2)”,而“ loopsareBetterforConterContinuingUntilacTientInditionIntionismetismetistismetistwithOutpredefinedInedIterations.un

Python串聯列表與重複Python串聯列表與重複May 08, 2025 am 12:09 AM

在Python中,可以通過多種方法連接列表並管理重複元素:1)使用 運算符或extend()方法可以保留所有重複元素;2)轉換為集合再轉回列表可以去除所有重複元素,但會丟失原有順序;3)使用循環或列表推導式結合集合可以去除重複元素並保持原有順序。

Python列表串聯性能:速度比較Python列表串聯性能:速度比較May 08, 2025 am 12:09 AM

fasteStmethodMethodMethodConcatenationInpythondependersonListsize:1)forsmalllists,operatorseffited.2)forlargerlists,list.extend.extend()orlistComprechensionfaster,withextendEffaster,withExtendEffers,withextend()withextend()是extextend()asmoremory-ememory-emmoremory-emmoremory-emmodifyinginglistsin-place-place-place。

您如何將元素插入python列表中?您如何將元素插入python列表中?May 08, 2025 am 12:07 AM

toInSerteLementIntoApythonList,useAppend()toaddtotheend,insert()foreSpificPosition,andextend()formultiplelements.1)useappend()foraddingsingleitemstotheend.2)useAddingsingLeitemStotheend.2)useeapecificindex,toadapecificindex,toadaSpecificIndex,toadaSpecificIndex,blyit'ssssssslorist.3 toaddextext.3

Python是否列表動態陣列或引擎蓋下的鏈接列表?Python是否列表動態陣列或引擎蓋下的鏈接列表?May 07, 2025 am 12:16 AM

pythonlistsareimplementedasdynamicarrays,notlinkedlists.1)他們areStoredIncoNtiguulMemoryBlocks,mayrequireRealLealLocationWhenAppendingItems,EmpactingPerformance.2)LinkesedlistSwoldOfferefeRefeRefeRefeRefficeInsertions/DeletionsButslowerIndexeDexedAccess,Lestpypytypypytypypytypy

如何從python列表中刪除元素?如何從python列表中刪除元素?May 07, 2025 am 12:15 AM

pythonoffersFourmainMethodStoreMoveElement Fromalist:1)刪除(值)emovesthefirstoccurrenceofavalue,2)pop(index)emovesanderturnsanelementataSpecifiedIndex,3)delstatementremoveselemsbybybyselementbybyindexorslicebybyindexorslice,and 4)

試圖運行腳本時,應該檢查是否會遇到'權限拒絕”錯誤?試圖運行腳本時,應該檢查是否會遇到'權限拒絕”錯誤?May 07, 2025 am 12:12 AM

toresolvea“ dermissionded”錯誤Whenrunningascript,跟隨台詞:1)CheckAndAdjustTheScript'Spermissions ofchmod xmyscript.shtomakeitexecutable.2)nesureThEseRethEserethescriptistriptocriptibationalocatiforecationAdirectorywherewhereyOuhaveWritePerMissionsyOuhaveWritePermissionsyYouHaveWritePermissions,susteSyAsyOURHomeRecretectory。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

SecLists

SecLists

SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器