1. Заходим на сайт и видим данные так:
Название……….
Адрес: …….
Телефон: …………..
Часы работы: ……………..
Сайт: …………………
2. Проблема в том, что если название имеет свой класс ('title'), то адрес, телефон, часы работы и сайт написаны под одним и тем же классом.
<div class="list-item hover "> <h3><a href="сылка" title="Показать на карте"> Название организации</a></h3> <span class="rating"><i class='fa fa-star'></i><i class='fa fa-star'></i><i class='fa fa-star'></i><i class='fa fa-star'></i><i class='fa fa-star'></i></span> <div class="row"> <div class="left">Адрес:</div> <div class="right"> Россия, Москва... </div> <div class="clear"></div> </div> <div class="row"> <div class="left">Телефон:</div> <div class="right">+7 (999) 999-00-12</div> <div class="clear"></div> </div> <div class="row"> <div class="left">Часы работы:</div> <div class="right">ежедневно, 8:00–20:00</div> <div class="clear"></div> </div> <div class="row"> <!--noindex--> <div class="left">Сайт:</div> <div class="right"> <span class="make-link" data-link="aHR0cDovL3d3dy4xMTJzdG8ucnU="></span> </div> <!--/noindex--> <div class="clear"></div> </div> <div class="row"> <div class="left"><!--noindex-->Последний отзыв:<!--/noindex--></div> <div class="right"> <div> <!--noindex--> <i class="fa fa-commenting-o"></i> <span class="review-meta"> Евгения, 05 апреля 2017 </span> <!--/noindex--> </div> Заезжала на днях на мойку , заказала мойку ЛЮКС , Автомойщик рассказал что входит эту мойку и доброжелательно обьяснил как пройти в зал ... </div> <div class="clear"></div> </div> </div>
А теперь как выглядит часть моего кода
ads = soup.find('div', class_='addresses-list').find_all('div', class_='list-item hover') for ad in ads: try: title = ad.find('a').text.strip() except: title = '' try: adress = ad.find('div', class_='right').text.strip().split('\t')[-1] except: adress = '' data = {'title':title, 'adress':adress} write_csv(data)
Вот ‘right’ когда прописываю, выдает только адрес, а как дальше информацию парсить, если она под тем же классом? помогите пожалуйста)