Лучший способ получить строки даты с Python

1

Какой лучший способ получить данные из веб-сайта с помощью Python?

Даты могут быть, например, в следующих формах:

  • 1 апреля 2011 г.
  • 2 апреля 2011 г.
  • 23 апреля 2011 г.
  • 4/2/2011
  • 04/23/2011

Это должно быть тонна регулярного выражения? Какое самое элегантное решение?

Показать ещё 1 комментарий
Теги:
date
parsing

2 ответа

2
Лучший ответ

Рассмотрим этот lib: http://code.google.com/p/parsedatetime/

Из его страниц Wiki-страниц, вот несколько форматов, которые могут обрабатывать этот взгляд, соответствующий вашему вопросу:

result = p.parseDateText("March 5th, 1980") 
result = p.parseDate("4/4/80") 

EDIT: теперь я замечаю, что это фактически дубликат этого вопроса SO, где была рекомендована та же библиотека!

  • 0
    В итоге я использовал шесть строк регулярных выражений, чтобы найти наиболее распространенные форматы дат, но я дам вам ответ
1
    month = '(jan|feb|mar|apr|may|jun|jul|aug|sep|nov|dec)[a-z]{0,6}'
    regex_strings = ['%s(\.| )\d{1,2},? \d{2,4}' % month, # Month.Day, Year
                     '\d{1,2} %s,? \d{4}' % month, # Day Month Year(4)
                     '%s \d{1,2}\w{2},? \d{4}' % month, # Mon Day(th), Year
                     '\d{1,2} %s' % month, # Day Month
                     '\d{1,2}\.\d{1,2}\.\d{4}', # Month.Day.Year
                     '\d{1,2}/\d{1,2}/\d{2,4}', # Month/Day/Year{2,4}
                     ]

Ещё вопросы

Сообщество Overcoder
Наверх
Меню