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.
3 Réponses :
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.
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.
Il suffit de le convertir en horodatage: plus de détails sur utcfromtimestamp
2010-06-11 11:57:55
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')