Comment publier un article sur DEV à l'aide de Python
Introduction
En tant qu'utilisateur régulier d'Obsidian pour la rédaction d'articles, j'ai trouvé que la publication manuelle du contenu Markdown sur DEV.to prenait beaucoup de temps. Pour rationaliser cela, j'ai développé un script Python qui automatise le processus de publication directement sur DEV.to. Dans ce guide, je vais vous montrer comment utiliser Python et l'API DEV.to pour simplifier votre flux de publication d'articles.
Conditions préalables
Avant de plonger dans le code, vous aurez besoin des éléments suivants :
• Clé API DEV : vous pouvez la générer en vous connectant à votre compte DEV et en accédant à la section Clés API.
• Python installé : assurez-vous que Python 3.x est installé sur votre système.
Le flux de travail
Nous diviserons le processus en trois étapes :
- Récupérez le contenu Markdown de l'article.
- Préparer et envoyer la demande de publication de l'article.
- Traitez la réponse pour confirmer que l'article a été publié.
Le script Python
Vous trouverez ci-dessous le script Python complet pour automatiser le processus de publication d'un article sur 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)
N'oubliez pas que si vous définissez publié : vrai, l'article sera en direct et visible par le public sur DEV. Si vous souhaitez enregistrer l'article en tant que brouillon pour une modification ou une révision ultérieure, définissez publié : False. Cela vous donne une flexibilité dans la gestion de vos publications.
Dans le body_markdown de votre article DEV, vous pouvez inclure une section facultative avant-propos pour fournir des métadonnées supplémentaires pour l'article.
Cette section est entourée de --- au début du contenu et peut contenir des champs tels que titre, publié, balises, date, série, canonique_url et cover_image.
Si vous utilisez un éditeur de démarques comme Obsidian, vous pouvez rapidement insérer ces propriétés en utilisant Cmd/Ctrl+ ; pour ajouter une propriété à une note.
Voici un instantané de la configuration des propriétés dans mon Obsidian :
Conclusion
L'automatisation du processus de publication d'articles sur DEV à l'aide de Python peut changer la donne, en particulier si vous publiez plusieurs articles ou gérez du contenu pour une équipe. L'API DEV est simple et facilite l'intégration dans vos flux de travail existants.
Avec cette configuration, vous êtes prêt à commencer à automatiser la publication de vos articles sur DEV. Bon codage !
Explorer davantage

Luca Liu
Merci d'avoir pris le temps d'explorer avec moi des informations liées aux données. J'apprécie votre engagement.
? Connectez-vous avec moi sur LinkedIn
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Stock Market GPT
Recherche d'investissement basée sur l'IA pour des décisions plus intelligentes

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds



La méthode de remplissage des données Excel dans les formulaires Web à l'aide de Python est: utilisez d'abord des pandas pour lire les données Excel, puis utilisez le sélénium pour contrôler le navigateur pour remplir et soumettre automatiquement le formulaire; Les étapes spécifiques incluent l'installation de bibliothèques Pandas, OpenPyxl et Selenium, en téléchargeant le pilote de navigateur correspondant, en utilisant des pandas pour lire le nom, le courrier électronique, le téléphone et d'autres champs dans le fichier data.xlsx, le lancement du navigateur via le sélénium pour ouvrir la page Web cible, localiser les éléments de formulaire et remplir le traitement de données, en utilisant le formulaire Web pour traiter le contenu dynamique, ajouter le contenu de la charge dynamique, ajouter un traitement exception et traiter toutes les lignes de données dans une boucle.

ClassMethodsinpyThonareBoundTotheclassandNottoiNstances, permettant à ce que

Cet article fournit des solutions détaillées et des meilleures pratiques pour le problème auquel les noms de données de données entrent en conflit avec les noms de groupe lors du fonctionnement des fichiers HDF5 à l'aide de la bibliothèque H5PY. L'article analysera les causes des conflits en profondeur et fournira des exemples de code pour montrer comment éviter efficacement et résoudre ces problèmes pour assurer une lecture et une écriture appropriées des fichiers HDF5. Grâce à cet article, les lecteurs pourront mieux comprendre la structure de fichiers HDF5 et écrire du code H5PY plus robuste.

Asyncio.Queue est un outil de file d'attente pour une communication sécurisée entre les tâches asynchrones. 1. Le producteur ajoute des données via AwaitQueue.put (élément), et le consommateur utilise AwaitQueue.get () pour obtenir des données; 2. Pour chaque élément que vous traitez, vous devez appeler la file d'attente.task_done () pour attendre que la queue.join () termine toutes les tâches; 3. Utilisez aucun comme signal final pour informer le consommateur de s'arrêter; 4. Lorsque plusieurs consommateurs, plusieurs signaux finaux doivent être envoyés ou toutes les tâches ont été traitées avant d'annuler la tâche; 5. La file d'attente prend en charge la définition de la capacité limite maxsize, les opérations de put et d'obtenir automatiquement la suspension et ne bloquent pas la boucle d'événement, et le programme passe enfin CANC

Lors du traitement de grands ensembles de données qui dépassent la mémoire dans Python, ils ne peuvent pas être chargés en RAM en même temps. Au lieu de cela, des stratégies telles que le traitement de la chasse, le stockage du disque ou le streaming doivent être adoptées; Les fichiers CSV peuvent être lus en morceaux via les paramètres ChunkSize de Pandas et le bloc traité par bloc. La daste peut être utilisée pour réaliser la parallélisation et la planification des tâches similaires à la syntaxe Pandas pour prendre en charge les opérations de données de mémoire importantes. Écrivez les fonctions du générateur pour lire les fichiers texte ligne par ligne pour réduire l'utilisation de la mémoire. Utilisez le format de stockage en colonne de parquet combiné avec Pyarrow pour lire efficacement des colonnes ou des groupes de lignes spécifiques. Utilisez Memmap de Numpy pour mapper la mémoire de grands tableaux numériques pour accéder aux fragments de données à la demande, ou stocker des données dans des données légères telles que SQLite ou DuckDB.

Des expressions régulières sont implémentées dans Python via le module RE pour la recherche, la correspondance et la manipulation des chaînes. 1. Utilisez re.search () pour trouver la première correspondance de toute la chaîne, re.match () ne correspond qu'au début de la chaîne; 2. Utilisez des supports () pour capturer les sous-groupes correspondants, qui peuvent être nommés pour améliorer la lisibilité; 3. Re.findall () renvoie toutes les correspondances non chevauchantes, et re.finditer () renvoie l'itérateur de l'objet correspondant; 4. Re.sub () remplace le texte correspondant et prend en charge le remplacement de la fonction dynamique; 5. Les modèles communs incluent \ d, \ w, \ s, etc., vous pouvez utiliser re.ignorecase, re.multiline, re.dotall, re.

Usysys.argvforsImpleargumentAccess, alors que les anciens ontténomadés et le NOAutomaticalidationorhelpisprovide

AplatinganestestListInpyThonConvertsalist avec les publistiquesIntoasingleflatlist et ThebestMethDependSonTherestDepthanddatasize.forone-levelnesting, uselistcomprehensionliny
