2015-05-07 4 views
0

Я борюсь с тем, как добраться до вложенной таблицы в этом URL:Красивые суп Вложенные таблицы

вид-источник: http://taxweb.co.guilford.nc.us/CamaPublicAccess/PropertySummary.aspx?REID=0180721

В частности, данные, хранящиеся на «владельца Почтовый адрес», где начинается новый стол на линии 370

owner_fields = soup.find(text="Owner's Mailing Address").find('table'), 
owner_address = owner_fields.find('td').get_text(), 
owner_city = owner_fields.find('td')[2].get_text(), 
owner_state_zip = owner_fields.find('td')[3].get_text(), 

Я ухожу сюда?

ответ

1

soup.findAll(attrs={"id":"ctl00_ContentPlaceHolder1_table3"})[0] находит и возвращает стол.

Дополнительный .findAll('b') находит контейнер и содержимое элементов адреса.

Заявление map() передается по элементам .findAll('b') и возвращает юникодную версию их содержимого.

address_contents = map(lambda value: value.contents, soup.findAll(attrs={"id":"ctl00_ContentPlaceHolder1_table3"})[0].findAll('b')) 

In [56]: address_contents 
Out[56]: 
[[u'101 OAKHURST AVE'], 
[u' '], 
[u'HIGH POINT'], 
[u'\n', <span id="ctl00_ContentPlaceHolder1_DetailsView4_Label1"></span>], 
[u'NC'], 
[u'27262']] 

Я оставлю уступку значений из списка до вас.

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