Форум сайта python.su
0
Всем привет ! Есть такой кусок кода.Который берет данные из БД для парсинга даты.
def get_item_datetime(item_page,datetime_rule,datetime1_rule): soup = BeautifulSoup(item_page, 'lxml') item_datetime = soup.find(datetime_rule[0],{datetime_rule[1]:datetime_rule[2]}) if item_datetime is not None: item_datetime = soup.find(datetime_rule[0],{datetime_rule[1]:datetime_rule[2]}).text item_datetime=dateparser.parse(item_datetime, date_formats=['%d %B %Y %H']) else: item_datetime = soup.find(datetime1_rule[0],{datetime1_rule[1]:datetime1_rule[2]}).text item_datetime=dateparser.parse(item_datetime, date_formats=['%d %B %Y %H']) return str(item_datetime)
Отредактировано r4khic (Авг. 21, 2019 07:45:07)
Офлайн
568
Ну во-первых, вам никто не мешает запихнуть под else еще один if
if a: pass else: if b: pass else: pass
if a: pass elif b: pass elif c: pass else: pass
Офлайн
0
FishHookМожете объяснить в чем разница этих конструкций ?
Ну во-первых, вам никто не мешает запихнуть под else еще один if
Офлайн
568
r4khicКаких именно?
Можете объяснить в чем разница этих конструкций ?
Офлайн
27
Это
if a: pass else: if b: pass else: pass
if a: pass elif b: pass else: pass
Офлайн
0
Вот так доработал условие:
def get_item_datetime(item_page,datetime_rule,datetime1_rule): soup = BeautifulSoup(item_page, 'lxml') item_datetime = soup.find(datetime_rule[0],{datetime_rule[1]:datetime_rule[2]}) if item_datetime is not None: item_datetime = soup.find(datetime_rule[0],{datetime_rule[1]:datetime_rule[2]}).text item_datetime = dateparser.parse(item_datetime, date_formats=['%d %B %Y %H']) else: if (len(datetime1_rule) == 3): item_datetime = soup.find(datetime1_rule[0],{datetime1_rule[1]:datetime1_rule[2]}).text item_datetime = dateparser.parse(item_datetime, date_formats=['%d %B %Y %H']) else: item_datetime = '' return item_datetime
Офлайн