在 Beautiful Soup 中,next_element
属性返回解析树中的下一个 string
或 tag
。我们将通过示例来了解此属性的微妙之处。
例子
考虑以下 HTML 文档:
my_html = """
<p>Alex</p>
<p>Bob</p>
"""
soup = BeautifulSoup(my_html)
让我们获取 <p>Alex</p>
的 next_element
:
p_alex = soup.find("p")
p_alex.next_element
'Alex'
请注意内部字符串如何注册为下一个元素。这里的要点是顺序是从标签到内部字符串。
让我们计算'Alex'
字符串的next_element
:
p_alex = soup.find("p")
p_alex.next_element.next_element
'\n'
对于那些期望看到 <p>Bob</p>
的人来说,结果可能会令人惊讶。出现这样的结果是因为 <p>Alex</p>
和 <p>Bob</p>
之间存在换行符 \n
。那么,要联系 Bob,您需要再次调用 next_element
:
p_alex = soup.find("p")
p_alex.next_element.next_element.next_element
<p>Bob</p>
如果您只想访问下一个同级元素,那么更好的选择是调用 find_next_sibling()
方法:
p_alex = soup.find("p")
p_alex.find_next_sibling()
<p>Bob</p>
相关用法
- Python BeautifulSoup next_elements属性用法及代码示例
- Python BeautifulSoup next_sibling属性用法及代码示例
- Python BeautifulSoup next_siblings属性用法及代码示例
- Python next方法用法及代码示例
- Python next()用法及代码示例
- Python networkx.algorithms.shortest_paths.weighted.all_pairs_dijkstra_path用法及代码示例
- Python networkx.classes.function.edge_subgraph用法及代码示例
- Python networkx.algorithms.tree.mst.maximum_spanning_edges用法及代码示例
- Python networkx.algorithms.bipartite.basic.color用法及代码示例
- Python networkx.algorithms.bipartite.cluster.latapy_clustering用法及代码示例
- Python networkx.readwrite.json_graph.adjacency_data用法及代码示例
- Python networkx.algorithms.bipartite.edgelist.generate_edgelist用法及代码示例
- Python networkx.Graph.neighbors用法及代码示例
- Python networkx.DiGraph.__contains__用法及代码示例
- Python networkx.drawing.nx_pylab.draw_random用法及代码示例
- Python networkx.convert_matrix.to_pandas_edgelist用法及代码示例
- Python networkx.DiGraph.__init__用法及代码示例
- Python networkx.algorithms.cycles.recursive_simple_cycles用法及代码示例
- Python networkx.drawing.layout.random_layout用法及代码示例
- Python networkx.algorithms.link_prediction.within_inter_cluster用法及代码示例
- Python networkx.algorithms.non_randomness.non_randomness用法及代码示例
- Python networkx.algorithms.traversal.depth_first_search.dfs_tree用法及代码示例
- Python networkx.MultiGraph.clear用法及代码示例
- Python networkx.algorithms.operators.product.cartesian_product用法及代码示例
- Python networkx.algorithms.traversal.depth_first_search.dfs_labeled_edges用法及代码示例
注:本文由纯净天空筛选整理自Isshin Inada大神的英文原创作品 BeautifulSoup | next_element property。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。