Вы должны попробовать это для динамического значения td .
from bs4 import BeautifulSoup
contents = '''<html>
<table class="table1">
<tbody>
<tr>
<td>Date(s) of Birth Used</td>
<td>May 14, 1942</td>
</tr>
<tr>
<td>Place of Birth</td>
<td>Canada</td>
</tr>
</tbody>
</table>
</html>'''
soup = BeautifulSoup(contents, 'html.parser')
table_div = soup.find(class_ = "table1")
td_val = table_div.findAll('td')
updated_td_val = list(map(str, td_val))
# You can use input() instead of '<td>Place of Birth</td>' to take dynamic input and on basis of that input, it will return you the content of input td and it's next td.
if updated_td_val and '<td>Place of Birth</td>' in updated_td_val:
index_val = updated_td_val.index('<td>Place of Birth</td>')
print(td_val[index_val].get_text())
print(td_val[index_val+1].get_text())
ВЫХОД:
Place of Birth
Canada