Beautifulsoup - nextSibling
我正在尝试使用以下方法获取内容"我的家庭住所",但得到了AttributeError:
1 2 | address = soup.find(text="Address:") print address.nextSibling |
这是我的HTML:
1 2 | <td>Address:</td> <td>My home address</td> |
导航
问题是您找到了
这就是你想要的:
1 2 3 4 5 | address = soup.find(text="Address:") b_tag = address.parent td_tag = b_tag.parent next_td_tag = td_tag.findNext('td') print next_td_tag.contents[0] |
或更简洁:
1 | print soup.find(text="Address:").parent.parent.findNext('td').contents[0] |
其实你可以做
1 | print soup.find(text="Address:").findNext('td').contents[0] |
由于
如果使用bs4,请尝试以下操作:
1 | print soup.find(string="Address:").find_next('td').contents[0] |
您可以很容易地使用
1 2 3 4 5 6 7 | table = soup.find('table') >>> for td in table.findChildren('td'): ...: print td.text ...: ...: Address: My home address |
或者,您可以搜索地址并获取表容器:
1 2 3 | >>> import re >>> search = re.compile('Address') >>> table = soup.find(text=search).parent.parent.parent |