Извлечь строку в html файле без тегов html

Мне нужно извлечь строку, содержащую определенную строку, но мой следующий код дает html-теги вместе с ним.

from BeautifulSoup import BeautifulSoup
import re
import os
import codecs
import sys


get_company = "ABB LTD"


OUTFILE = os.path.join('company', 'a', 'viewids')

soup = BeautifulSoup(open("/company/a/searches/a"))
rows = soup.findAll("table",{"id":"cos"})[0].findAll('tr')
userrows = [t for t in rows if t.findAll(text=re.compile(get_company))]
print userrows

Это мой формат таблицы

<table id="cos" cellpadding="3" cellspacing="0" border="1">
 <tbody><tr>
 <th>Company Name</th>
 <th>CIK Number</th>
 <th>SIC Code</th>
 </tr>
 <tr valign="top">
 <td>A CONSULTING TEAM INC</td>
 <td>1040792</td>
 <td>7380</td>
 </tr>
 <tr valign="top">
 <td>A J&J PHARMA CORP</td>
 <td>1140452</td>
 <td>9995</td>
 </tr>
</tbody></table>

Так, если мне нужен номер J & J PHARMA CORP CIK, как это сделать? Сейчас он дает мне такой результат:

[
 A J&J PHARMA CORP
 1140452
 9995
 ]
1 ответ

import re
from BeautifulSoup import BeautifulSoup

html= '''
<table id="cos" cellpadding="3" cellspacing="0" border="1">
 <tbody><tr>
 <th>Company Name</th>
 <th>CIK Number</th>
 <th>SIC Code</th>
 </tr>
 <tr valign="top">
 <td>A CONSULTING TEAM INC</td>
 <td>1040792</td>
 <td>7380</td>
 </tr>
 <tr valign="top">
 <td>A J&J PHARMA CORP</td>
 <td>1140452</td>
 <td>9995</td>
 </tr>
</tbody></table>
'''

soup = BeautifulSoup(html)
table = soup.find("table", {"id":"cos"})
td = table.find('td', text='A J&J PHARMA CORP')
# ^ This return text node, not td.
print(td.parent.parent.findAll('td')[1].string)

печать

1140452

licensed under cc by-sa 3.0 with attribution.