如何解决ValueError: 时间数据 '30 avr. 2020 23:19:12' 与格式 '%d %b %Y %H:%M:%S' 不匹配
我想用 strptime 转换法语日期。
query_time=time.strptime(query_time,'%d %b %Y %H:%M:%S')
正在处理 1 mai 2020 10:21:26
但不在 30 avr. 2020 23:19:12
。我指定了这行代码
locale.setlocale(locale.LC_ALL,'fr_FR.UTF-8')
。
两个日期有相同的模式,你知道为什么这对第二个不起作用吗?
这是我的代码:
import re
import time
import pandas as pd
from datetime import datetime
from bs4 import BeautifulSoup
import locale
locale.setlocale(locale.LC_ALL,'fr_FR.UTF-8')
# Fetch the html file
html_doc = googleData = open("./MonActivité_vr.html",encoding='utf8')
# Parse the html file
soup = BeautifulSoup(html_doc,'html.parser')
rows = soup.find_all("div",class_="outer-cell")
i = 0
j = 0
searchMonth = []
searchDay = []
searchYear = []
Recherche = []
URL= []
for row in rows:
i += 1
print(f"Ligne {i} : ")
cells = row.find_all("div",class_="content-cell")
print(cells)
# search / visited
substring = "Vous avez consulté"
if substring in str(cells[0]):
print("Search")
# SERP
print(cells[0])
for a in cells[0].find_all('a',href=True):
print(f"SERP : {a['href']}")#récupère le contenu de l'attribut href qui contient l'url du site consulté
URL.append(a['href'])
print("\n")
print(f"KW : {a.string}")#récupère le contenu texte de la balise a => titre de la page consultée
Recherche.append(a.string)
# Time 16 mai 2020 à 16:50:52 CET
query_time = ''.join(cells[0].find('br').next_siblings)
print(query_time)
# Removing timezone
query_time = query_time.replace(" CET","")
query_time = query_time.replace(" à","")
print(query_time)
#query_time = time.mktime(datetime.datetime.strptime(query_time,"%d %b %Y %H:%M:%S").timetuple())
query_time=time.strptime(query_time,'%d %b. %Y %H:%M:%S')
#print(query_time[0])
searchDay.append(query_time[2])
searchMonth.append(query_time[1])
searchYear.append(query_time[0])
print(query_time)
print("\n")
print(f"Date : {query_time}")
print("\n")
else:
print("Visited")
searchDict = {
'URL':URL,'Recherche':Recherche,'searchDay':searchDay,'searchMonth':searchMonth,'searchYear':searchYear
}
print(searchDict)
searchDF = pd.DataFrame(searchDict)
searchDF.to_csv(path_or_buf = 'D_searchData.csv',index=False)
解决方法
第一个日期有效,因为 mai
是法语的完整月份名称,但 avr
是 avril
的缩写(对不起,我的英语不好!)。 30 avril 2020 23:19:12
有效。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。