Я использую Scrapy для очистки https://www.hillhappenings.com/ для ряда полей данных, связанных с политическими событиями: имя, время, данные и местоположение.Я понял, что HTML для поля местоположения использует два разных формата:
<li class="eventlist-meta-item eventlist-meta-address event-meta-item">
2168 Rayburn House Office Building
</li>
... и ...
<li class="eventlist-meta-item eventlist-meta-address event-meta-item">
<span class="eventlist-meta-address-line">A St.</span>
<span class="eventlist-meta-address-line">Washington, DC, 20002</span>
<span class="eventlist-meta-address-line">United States</span>
</li>
Я использую следующий код для получения заголовков событийи местоположения:
events = Selector(response=response).css('div.eventlist-column-info a.eventlist-title-link::text').getall()
addresses = Selector(response=response).css('div.eventlist-column-info li.eventlist-meta-item.eventlist-meta-address::text').getall()
Проблема в том, что из 80 событий 76 используют формат # 1, а 4 используют формат # 2, поэтому я получаю 80 событий, но только 76 адресов.Я хотел бы иметь возможность получать многострочные адреса, которые используют формат № 2 выше, в одну строку, например, формат № 1.Я новичок в Scrapy с сегодняшнего утра и задаюсь вопросом: "Как я могу использовать Scrapy, чтобы найти элементы адреса с тегом span под ними, чтобы я мог объединить их в однострочный адрес?" .