如何使用Beautiful Soup获取指定标签的下一个相邻标签的文本内容
你使用的.next属性获取的是当前标签内部的第一个子内容,对应这个span里的Contact文本,自然不是你要的相邻div内容。
正确实现方式如下:
使用BeautifulSoup提供的find_next_sibling()方法,直接定位当前span的下一个同级div标签:
rfq_name_span = soup.find('span', {'class': 'small text-muted'}) # 查找下一个相邻的div同级元素,提取文本并去除首尾空白 rfq_name = rfq_name_span.find_next_sibling('div').text.strip() print(rfq_name)
补充说明:如果直接使用.next_sibling属性,大概率会拿到span和div之间的空白换行节点,需要多次调用才能到div标签,用find_next_sibling('div')会自动跳过无效的空白、注释节点,精准匹配到目标元素,兼容性更好。
内容的提问来源于stack exchange,提问作者Rikky Bhai
相关产品推荐
相关产品推荐

