Я не могу удалить номер телефона. Может кто-нибудь мне помочь

Вот содержание HTML этой части.

<p class="contact-info " onclick="_ct('clntphn', 'lspg');">
  <i class="contactNo spriteImg"></i>
  <span><a><b>+(91)-80-30805680</b></a></span>
</p>

Я попытался извлечь это с помощью:

soup.find('p',{'class':'contact-info'})  

но тщетно. Он не может сделать то же самое.

3 ответа

Решение

Вы можете использовать find метод с тегом:

from bs4 import BeautifulSoup as soup
s = soup(html_data, "lxml")
number = s.find('b').text  

Выход:

u'+(91)-80-30805680'

Чтобы получить первый экземпляр, вы можете попробовать это:

new_s = s.findAll("p", {"class":"contact-info"})
new_data = [i.text for i in new_s]
print(new_data[0].replace("\n", ''))

Выход:

+(91)-80-30805680

Вы должны присоединиться, чтобы найти методы в цепочке:

soup.find('p',{'class':'contact-info'}).find('b').text

Я бы использовал селектор CSS. Поскольку вокруг него есть пробелы, мы можем легко его убрать.

soup.select_one('p.contact-info').get_text(strip=True)
Другие вопросы по тегам