Кажется, у вас есть бесполезный datetime
в вашем скрипте (datetime.datetime.strptime
). Вы также можете изменить формат даты с помощью регулярного выражения. С re.sub
:
data = "01. 01. 2008"
print(re.sub("^(\d+).+?(\d+).+(\d{4})$",'\g<3>-\g<2>-\g<1>',data))
Вывод:
2008-01-01
Что касается вашей проблемы, используйте len()
, чтобы создать список такой же длины, как количество совпадений, отображаемых на веб-странице :
date = re.sub("^(\d+).+?(\d+).+(\d{4})$",'\g<3>-\g<2>-\g<1>',data)
nbel = len(response.xpath('//table[@class="result"]//a[contains(@href,"match-detail")]').extract
dates = [date]*nbel
Вывод:
['2008-01-01', '2008-01-01', '2008-01-01',...,'2008-01-01', '2008-01-01', '2008-01-01']
В зависимости от ожидаемого результата вы можете построить свой словарь таким образом (даты - это ваш список со всеми датами, а идентификаторы - это список со всеми ваши идентификаторы имеют одинаковую длину):
dic={}
dic["matches:"]=[]
for el in range(1,len(ids)):
dic1={"id:":ids[el],"date":dates[el]}
dic["matches:"].append(dic1)
print(dic)
Вывод:
{'matches:': [{'id:': '1893063', 'date': '2020-08-04'}, {'id:': '1893067', 'date': '2020-08-04'}, {'id:': '1893062', 'date': '2020-08-04'}, {'id:': '1893059', 'date': '2020-08-04'}, {'id:': '1893061', 'date': '2020-08-04'}, {'id:': '1893066', 'date': '2020-08-04'}, {'id:': '1893229', 'date': '2020-08-04'}, {'id:': '1893065', 'date': '2020-08-04'}, {'id:': '1893117', 'date': '2020-08-04'}, {'id:': '1893134', 'date': '2020-08-04'}, {'id:': '1893133', 'date': '2020-08-04'}, {'id:': '1893130', 'date': '2020-08-04'}, {'id:': '1893158', 'date': '2020-08-04'}, {'id:': '1893048', 'date': '2020-08-04'}, {'id:': '1893047', 'date': '2020-08-04'}, {'id:': '1893045', 'date': '2020-08-04'}, {'id:': '1893046', 'date': '2020-08-04'}, {'id:': '1893109', 'date': '2020-08-04'}, {'id:': '1893110', 'date': '2020-08-04'}, {'id:': '1893107', 'date': '2020-08-04'}, {'id:': '1893108', 'date': '2020-08-04'}, {'id:': '1893105', 'date': '2020-08-04'}, {'id:': '1893106', 'date': '2020-08-04'}, {'id:': '1893058', 'date': '2020-08-04'}, {'id:': '1893057', 'date': '2020-08-04'}, {'id:': '1893056', 'date': '2020-08-04'}, {'id:': '1893055', 'date': '2020-08-04'}, {'id:': '1893054', 'date': '2020-08-04'}, {'id:': '1893053', 'date': '2020-08-04'}, {'id:': '1893139', 'date': '2020-08-04'}, {'id:': '1893131', 'date': '2020-08-04'}, {'id:': '1893102', 'date': '2020-08-04'}, {'id:': '1893116', 'date': '2020-08-04'}, {'id:': '1893115', 'date': '2020-08-04'}, {'id:': '1893114', 'date': '2020-08-04'}, {'id:': '1893113', 'date': '2020-08-04'}]}
Визуальный вывод:
Di c