1
votes

request.get (url) renvoie la date au format epoch. Existe-t-il un moyen de convertir epochdate au format datetime tout en utilisant la méthode request.get?

J'essaie de récupérer des données xml à partir d'une URL en utilisant la méthode python request.get (url). Mais, toutes les dates sont au format epochdate, y a-t-il un moyen d'obtenir la date au format datetime réel?

J'ai essayé de changer les headers = {'accept': 'application / xml') et headers = {'accept': 'application / json') et demander du contenu au format brut, json, contenu formats de texte

headers = {'accept': 'application/xml;odata=verbose; q=0.9, */*;q=0.8'}

val = requests.get(url, auth=HttpNtlmAuth(username, password),headers=headers, verify=False ,headers= headers)

val.text ou val.content ou val.json renvoie la même valeur de date au format d'époque

comment la date est xml:

2010-06-11T11: 57: 55

request.get (url) renvoyé:

("Modified": "/ Date (1276257475000) /")

toute aide ici est appréciée.


0 commentaires

3 Réponses :


0
votes

Je pense que vous pourriez utiliser time.strftime si vous convertissez l'heure de l'époque en un nombre, peut-être quelque chose comme ça? https://stackoverflow.com/a/12400584/9032733

Vous pouvez modifier le format de la chaîne de date résultante.


2 commentaires

Merci pour votre réponse @lee. Mais, im cherche une solution pour obtenir la date dans le bon format par la méthode request.get (url). Comme les documents xml sont énormes, on ne peut pas interagir sur toutes les variables et appliquer la fonction time.strftime sur elles.


Je ne pense pas qu'il existe un moyen de le faire, en plus d'effectuer des opérations via requests.get (url) ne devrait pas prendre moins de temps que d'itérer dans le XML.



0
votes

Il suffit de le convertir en horodatage: plus de détails sur utcfromtimestamp

2010-06-11 11:57:55


0 commentaires

0
votes

Merci pour vos suggestions, écrit une fonction et itéré sur le document json comme @LeeGarcon l'a suggéré. Ça a marché !

import re
import datetime

def _epoch_to_datetime(_dict_element):
   """ This function expects a dictionary (k,v) """
   pattern = "^/Date..............."

   for k,v in _dict_element.items():
       if re.match(pattern,str(v)):
            epoch_time = v[6:-5]
            _dict_element[k] = datetime.datetime.fromtimestamp(int(epoch_time)).strftime('%Y-%m-%d %H:%M:%S')


0 commentaires