@dar4q

Как спарсить значение нужного td?

Как из таблицы спарсить значение "Телефон руководителя" если в таблице может быть 2 и более строчек с таким названием, номер не всегда в самом низу таблицы, и сам номер не имеет постоянного формата записи?
<div class="cnt"> 
                <div class="cnt-in visible"> 
                    <table> 
                        <tr> 
                            <td>Полное наименование:</td> 
                            <td><b>Открытое акционерное общество "Айсберг"</b></td> 
                        </tr> 
                         
                        <tr> 
                            <td>Краткое наименование:</td> 
                            <td><b>ОАО "Айсберг"</b></td> 
                        </tr>                             
                                                    
                        <tr> 
                            <td>Регион:</td> 
                            <td><b>Республика Башкортостан</b></td> 
                        </tr>             
                                     
                        <tr> 
                            <td>Часовой пояс:</td> 
                            <td><b>0</b></td> 
                        </tr>      
                        <tr> 
                            <td>Телефон руководителя:</td> 
                            <td><b>(347) 223-52-65</b></td> 
                        </tr>


Сам пока до этого дошел, пытался по названию "Телефон руководителя" определить индекс ячейки хранящий данное значение и взять следующий т.е с самим номером, но с поиском по списку проблемы. Заранее спасибо за помощь
phone = soup.find('div', class_='cnt-in visible').find_all("td")
  • Вопрос задан
  • 548 просмотров
Решения вопроса 1
SoreMix
@SoreMix Куратор тега Python
yellow
parent = soup.find('td', string='Телефон руководителя:')
number = parent.find_next('td').text
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
zkrvndm
@zkrvndm
Архитектор решений
У вас в корне не верный подход. Для поиска номеров лучше всего тупо перебирать ячейки в лоб и проверять текст на соответствие регулярному выражению. Правильно составленная регулярка без проблем вытащит вам все телефоны даже если они в разных форматах записаны.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы