从雅虎财经的字符串中解析日期时间

DateTime Parsing from string for Yahoo Finance

非常抱歉打扰,但我是新手 Python3...

我正在尝试解析 HTML table 以获取代码和日期列表,然后我想从雅虎那里填充股票价格...

我有一个单元格,其中有一个文本,然后是以下格式的日期:2020 年 4 月 20 日...我想只提取日期,以便我可以在 Yahoo 中使用它 API 之后,但我收到以下代码的错误

date=result.find("td", attrs {'class':'column5'}).text.replace('\n',' ')
date=datetime.datetime.strptime(date,'%B %d, %Y').strftime('%Y-%m-%d')

非常感谢任何指导!

我的评论的插图,使用regex查找所有匹配日期时间格式的子字符串'%B %d, %Y'然后根据需要转换格式:

import re
from datetime import datetime

s = "April 20, 2020 April 3, 2020 March 18, 2020 February 29, 2020 March 29, 2019 March 19, 2019 1) September 20, 2018 - IPO ~20% 2) March 8, 2019 - exchange offer complete March 4, 2019 1) October 11, 2018 - IPO ~15% 2) March 1, 2019 - spinoff remaining stake February 25, 2019"

dates = re.findall('[a-zA-Z]+\ [0-9]{1,2},\ [0-9]{4}', s)
# ['April 20, 2020',
#  'April 3, 2020',
#  'March 18, 2020',
#  'February 29, 2020',
#  'March 29, 2019',
#  'March 19, 2019',
#  'September 20, 2018',
#  'March 8, 2019',
#  'March 4, 2019',
#  'October 11, 2018',
#  'March 1, 2019',
#  'February 25, 2019']

for d in dates:
    print(datetime.strptime(d,'%B %d, %Y').strftime('%Y-%m-%d'))
# 2020-04-20
# 2020-04-03
# 2020-03-18
# 2020-02-29
# 2019-03-29
# 2019-03-19
# 2018-09-20
# 2019-03-08
# 2019-03-04
# 2018-10-11
# 2019-03-01
# 2019-02-25