如何在Python中的两个div元素之间获取HTML

时间:2016-11-03 19:14:52

标签: python html

我正试图从页面主标题和目录之间的维基百科中删除所有段落。我注意到它们总是位于两个div元素之间,如下所示:

<div id="some-div">...</div>
    <p>...</p>
    <p>...</p>
    <p>...</p>
<div id="some-other-div">...</div>

我想抓住两个div元素之间的所有HTML(不仅仅是文本) 在Python中寻找解决方案。

1 个答案:

答案 0 :(得分:1)

我怀疑你可以依赖完全一致的格式化。但是,这似乎适用于Python(编程语言)&#39;页面,介绍文本由“内容”分隔。框。

我提供了几点说明:

  • fetchPreviousSiblings 以相反的顺序返回段落。
  • 我会检查内容的长度,以防止不止一次出现的可能性。
  • 这种检查垃圾的方法几乎肯定是必要的。

    来自urllib.request import urlopen 来自bs4进口BeautifulSoup 网址=&#39; https://en.wikipedia.org/wiki/Python_(programming_language)&#39; HTML = str(urlopen(URL).read()) 汤= BeautifulSoup(HTML) contents = soup.findAll(&#39; div&#39;,attrs = {&#39; id&#39;:&#39; toc&#39;}) paras = contents [0] .fetchPreviousSiblings(&#39; p&#39;)