Почему bs4 возвращает теги, а затем пустой список этому методу find_all ()?

Смотря наПерепись США QFD Я пытаюсь захватить расу% по округам. Цикл, который я создаю, выходит за рамки моего вопроса, касающегося этого кода:

url = 'http://quickfacts.census.gov/qfd/states/48/48507.html'
#last county in TX; for some reason the qfd #'s counties w/ only odd numbers
page = urllib2.urlopen(url)
soup = BeautifulSoup(page)

c_black_alone = soup.find_all("td", attrs={'headers':'rp9'})[0] #c = county %
s_black_alone = soup.find_all("td", attrs={'headers':'rp9'})[1] #s = state %

Который захватывает HTML-элемент, включая его теги, а не только текст внутри него:

c_black_alone, s_black_alone

(<td align="right" headers="rp9 p1" valign="bottom">96.9%<sup></sup></td>,
 <td align="right" headers="rp9 p2" valign="bottom">80.3%<sup></sup></td>)

Выше ^ я хочу только% внутри элементов ...

Кроме того, почему

test_black = soup.find_all("td", text = "Black")

не возвращает тот же элемент, что и выше (или его текст), но вместо этого возвращает пустой объект bs4 ResultSet? (Изменить: я следовал вместе с документацией, поэтому я надеюсь, что этот вопрос не кажется слишком расплывчатым ...)

Ответы на вопрос(1)

Ваш ответ на вопрос