2014-02-05 3 views
0

У меня возникли проблемы с разбором некоторых html с помощью beautifulsoup.Проблема с использованием BeautifulSoup для анализа HTML

В этом фрагменте HTML, например, я хочу извлечь целевой текст. Больше HTML в коде HTML выглядит так, поэтому я хочу извлечь все целевые тексты. Я также хочу извлечь «tt0082971» и поместить это число и целевой текст в две строки файла с разделителями табуляции. Числа после 'tt' изменяются для каждого экземпляра Target Text.

<td class="target"> 
     <span class="wlb_wrapper" data-caller-name="search" data-size="small" data-tconst="tt0082971"> 
     </span> 
     <a href="/target/tt0082971/"> 
     Target Text 1 
     </a> 

ответ

0

BeautifulSoup.select принимает CSS Selectors:

>>> from bs4 import BeautifulSoup 
>>> 
>>> html = ''' 
... <td class="target"> 
...  <span class="wlb_wrapper" data-caller-name="search" data-size="small" data-tconst="tt0082971"> 
...  </span> 
...  <a href="/target/tt0082971/"> 
...  Target Text 1 
...  </a> 
...  </td> 
... ''' 
>>> soup = BeautifulSoup(html) 
>>> for td in soup.select('td.target'): 
...  span = td.select('span.wlb_wrapper') 
...  if span: 
...   print span[0].get('data-tconst') # To get `tt0082971` 
...  print td.a.text.strip() # To get target text 
... 
tt0082971 
Target Text 1 
+0

Это работает, спасибо! – kegewe

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