Я довольно новичок в Python и пробую скрапинг в первый раз, и застрял в группировке HTML элементов, которые не являются вложенными.
Таким образом, в основном два HTML элемента повторяются каждый раз и принадлежат друг другу. Поскольку UL не вложен в H2, я застрял в том, как их объединить.

Я пытаюсь получить список даты и уязвимости, использующие следующие структурированные данные:
March 10, 2020 (Date)
.MFSA 2020-10 (UID)
..Level high (Severity)
../en-US/security/advisories/mfsa2020-10/ (Url)
..Security Vulnerabilities fixed in Thunderbird 68.6 (Description)
.MFSA 2020-09 (UID)
..Level high (Severity)
../en-US/security/advisories/mfsa2020-09/ (Url)
..Security Vulnerabilities fixed in Firefox ESR 68.6 (Description)
До сих пор я делал ручную очистку с помощью оболочки:
scrapy shell 'https://www.mozilla.org/en-US/security/advisories/'
>>>response.css('article.mzp-c-article h2::text').get()
'March 10, 2020'
>>>response.css('article.mzp-c-article a::attr(href)').get()
'/en-US/security/advisories/mfsa2020-10/'
>>>response.css('li.level-item span::attr(class)')[4].get() # first few results are severity index
'level critical'
>>>response.css('li.level-item a::text').get()
' Security Vulnerabilities fixed in Thunderbird 68.6'
Проблема в том, что я не таким образом можно сопоставить Uid, Severity, URL и Description с Date.
Я думал о сборе всех данных для каждого ul с использованием 'response. css (' article.mzp- c -article ul ' ) .getall () [$ n] 'и использование RE для деконструкции необходимых данных, но это похоже на PITA. Кто-нибудь может указать мне правильное направление?
A