2015-10-14 2 views
1

HTML, выглядит следующим образом:Как извлечь html с beautifulsoup4?

<td class='Thistd'><a ><img /></a>Here is some text.</td> 

Я только хочу, чтобы получить строку в <td>. Мне не нужен <a>...</a>. Как я могу это сделать?

Мой код:

from bs4 import BeautifulSoup 
html = """<td class='Thistd'><a><img /></a>Here is some text.</td>""" 

soup = BeautifulSoup(html) 
tds = soup.findAll('td', {'class': 'Thistd'}) 
for td in tds: 
    print td 
    print '=============' 

Что я получаю <td class='Thistd'><a ><img /></a>Here is some text.</td>

Но мне просто нужно Here is some text.

+0

чем разница между тем, что вы получили, и что вы хотите – The6thSense

+0

извините, есть некоторые ошибки, исправленные сейчас. –

ответ

3

Используйте td.getText(), чтобы получить чистый текст из вашего элемента.

т.е.)

for td in tds: 
    print td.getText() 
    print '=============' 

выход:

Here is some text. 
============= 

РЕДАКТИРОВАТЬ:

Вы можете удалить <a>, затем распечатайте левый. .extract метод удаляет этот конкретный тег из имеющихся BS4 объекта

т.е.)

for td in tds: 
    td.a.extract() 
    print td 

выход:

<td class="Thistd">Here is some<b>here is a b tag </b></td> 
+0

Большое спасибо, Vignesh, за ваше улучшение ответа. – Flickerlight

+0

рад помочь :) – The6thSense

5

Код:

from bs4 import BeautifulSoup 
html = """<td class='Thistd'><a ><img /></a>Here is some text.</td>""" 

soup = BeautifulSoup(html) 
tds = soup.findAll('td', {'class': 'Thistd'}) 
for td in tds: 
    print td.text#the only change you need to do 
    print '=============' 

Выход:

Here is some text. 
============= 

Примечание:

.text используется для получения только текст атрибута данного объекта BS4 в этом случае td тег .Для получения дополнительной информации смотрите его на official site

+0

OK.tks, но если HTML-код был как это « Вот некоторые здесь аб тег
и уш тег
текст.» Как мы могли бы получить «Вот некоторые здесь ab тег
и метр br
текст. "? –

+0

, так что вы также хотите получить теги – The6thSense

+0

да, только не нужно ..., но другие теги –

Смежные вопросы