[PYTHON] Exporter les résultats de la recherche de publication dans un fichier à l'aide de l'API Mattermost

Exporter les résultats de la recherche de publication dans un fichier à l'aide de l'API Mattermost

introduction

Dans mon projet, au lieu d'un rapport quotidien, je poste YWT (ce que j'ai fait, ce que j'ai appris, ce que je fais ensuite) sur Mattermost comme une rétrospective et je le partage entre les membres. Cela fait plus de six mois que j'ai commencé à rédiger des rapports quotidiens, et je voulais créer mes propres articles, j'ai donc essayé de générer des fichiers en utilisant l'API Mattermost.

Outils à utiliser

Environnement de vérification de fonctionnement version
Windows10 Home Edition Version 2004
Docker for Windows 2.4.0.0
GitLab 13.4.3
GitLab Mattermost 5.26.2
Python 3.8
MattermostDriver 6.3

GitLab Mattermost utilise celui construit la dernière fois (https://qiita.com/shimi58/items/0e9b81f2eac8993be71b).

Des choses qui bougent

Je suis inscrit sur GitHub.

Comment utiliser

  1. Installez le pilote le plus important
  1. Ouvrez config.ini et spécifiez la destination de la connexion, les informations de connexion et les conditions de recherche.

    [CONNECTION]
    #Spécifiez l'URL de Mattermost
    scheme = http
    url = localhost
    port = 9081
    
    #Spécifiez l'utilisateur pour se connecter avec l'API
    login_id = test
    password = Password1!
    
    [SEARCH]
    #Spécifiez le nom de l'équipe à rechercher
    team_name = sample
    #Spécifiez les conditions de recherche
    tearms = #XXXXXXX
    
    
    [OUTPUT]
    path = ./mattermostPost.txt
    
  2. Exécutez matièremost.py

    python mattermost.py
    

Ce que j'ai fait

C'est un manteau de sauce.

from mattermostdriver import Driver
import configparser

#Lire la définition
config_ini = configparser.ConfigParser()
config_ini.read('config.ini', encoding='utf-8')

#Connexion la plus importante
connection = Driver({
    'url': config_ini['CONNECTION']['url'],
    'login_id': config_ini['CONNECTION']['login_id'],
    'password': config_ini['CONNECTION']['password'],
    'scheme': config_ini['CONNECTION']['scheme'],
    'basepath': '/api/v4',
    'verify': True,
    'port': int(config_ini['CONNECTION']['port']),
    })
connection.login()

#Obtenir l'ID d'équipe à partir du nom de l'équipe
teamId = connection.api['teams'].get_team_by_name(config_ini['SEARCH']['team_name'])['id']

#Obtenez des articles qui correspondent à vos critères de recherche
postMessage = connection.api['posts'].search_for_team_posts(teamId,options={
'terms': config_ini['SEARCH']['tearms']
})

#Fichier ouvert
with open(config_ini['OUTPUT']['path'], 'w') as f:

  #Résultats de la recherche de sortie
  for post in postMessage['posts'].values():
    print(post['message'], file=f)
    #Délimiteur
    print('====================', file=f)

Référencé

à la fin

L'API Mattermost a d'abondantes API qui peuvent être utilisées, et la documentation est épaisse, donc je pourrais le faire sans aucun blocage. Étant donné que la recherche de Mattermost lui-même n'est pas bonne, je me suis demandé s'il serait plus facile à utiliser si le post extrait plus tard était transformé en une règle avec une balise de hachage. La prochaine fois, j'aimerais créer un Bot.

Recommended Posts

Exporter les résultats de la recherche de publication dans un fichier à l'aide de l'API Mattermost
Une histoire sur un débutant Python essayant d'obtenir des résultats de recherche Google à l'aide de l'API
Exportez les informations produit au format CSV à l'aide de l'API de recherche de produits Rakuten [Python]
Traitez le résultat de l'exécution de Splunk en utilisant Python et enregistrez-le dans un fichier
Comment afficher le résultat de sortie de la commande man Linux dans un fichier
Enregistrez le tableau numpy dans un fichier wav à l'aide du module wave
J'ai essayé de notifier la mise à jour de "Devenir romancier" en utilisant "IFTTT" et "Devenir un romancier API"
Afficher le résultat de sortie de sklearn.metrics.classification_report sous forme de fichier CSV
Création d'un outil pour générer un diagramme de séquence à partir d'un fichier de capture de paquets de plusieurs nœuds
Sortie d'un vidage binaire en binaire et retour dans un fichier binaire
J'ai essayé d'automatiser la construction d'un environnement pratique à l'aide de l'API SoftLayer d'IBM Cloud
J'ai essayé de rechercher des vidéos à l'aide de l'API de données Youtube (débutant)
Changer la destination de sortie standard en un fichier en Python
Collectez un grand nombre d'images à l'aide de l'API de recherche d'images de Bing
[Python] Comment générer une table pandas dans un fichier Excel
L'histoire de la création d'une base de données à l'aide de l'API Google Analytics
Télécharger un fichier sur Dropbox
Un mémorandum d'utilisation de eigen3
[Python] Comment récupérer un fichier html local et le générer au format CSV à l'aide de Beautiful Soup
[Python scraping] Affiche l'URL et le titre du site contenant un mot-clé spécifique dans un fichier texte
Comment coller un fichier CSV dans un fichier Excel à l'aide de Pandas
J'ai essayé d'obtenir une base de données sur les courses de chevaux en utilisant Pandas
J'ai essayé de créer une expression régulière de "montant" en utilisant Python
Branche conditionnelle en raison de l'existence d'un fichier de script shell
J'ai essayé de créer une expression régulière de "temps" en utilisant Python
Analyse de correspondance des phrases avec l'API COTOHA et sauvegarde dans un fichier
Convertissez un grand nombre de fichiers PDF en fichiers texte à l'aide de pdfminer
J'ai essayé d'obtenir une liste de noms AMI en utilisant Boto3
Comment enregistrer une partie d'une longue vidéo en utilisant OpenCV
[Python] Talk en utilisant OpenJTalk et l'API Talk (jusqu'à la sortie vocale)
Comment créer un fichier factice CSV contenant du japonais à l'aide de Faker
Mauvais message pour utiliser "animeface-2009" en Python et implémentation de la fonction pour générer un fichier XML au format PASCAL VOC
Sortie vers un fichier csv avec Python
Comment utiliser l'API Bing Search
Créer une API CRUD à l'aide de l'API rapide
Comment créer un fichier de configuration
[Django 2.2] Ajouter un nouveau badge aux nouveaux messages avec une date à l'aide d'un filtre de modèle
Choses à prendre en compte lors de la création d'un système de recommandation avec Item2Vec
Comment mettre un numéro de ligne au début d'un fichier CSV
[Python] Comment lire le fichier csv (méthode read_csv du module pandas)
Comment obtenir un exemple de rapport à partir d'une valeur de hachage à l'aide de l'API de Virus Total
Conversion de code de caractère des fichiers CSV à l'aide de Loop (Shift JIS to UTF8)
J'ai fait un programme pour vérifier la taille d'un fichier avec Python
J'ai essayé d'effectuer une analyse de cluster de clients à l'aide des données d'achat
[Python] [Word] [python-docx] Essayez de créer un modèle de phrase de mot en Python en utilisant python-docx