我正在使用 python + beautifulsoup 来解析 html。我的问题是我有可变数量的文本项。在这种情况下,例如,我想提取“文本 1”、“文本 2”、...“文本 4”。在其他网页中,可能只有“文本 1”或可能有两个,等等。所以它会改变。如果'Text x's 包含在标签中,它会让我的生活更轻松。但他们不是。我可以使用 next 和 previous(或者可能 nextSibling 和 previousSibling)访问它们,但是我不知道如何获得所有这些。这个想法是(假设我遇到的最大数字是四个)将“文本 1”写入文件,然后一直到“文本 4”。就是在这种情况下。在只有“文本 1”的情况下,我会将“文本 1”写入文件,然后只有 2-4 的空白。关于我应该做什么的任何建议?
<div id="DIVID" style="display: block; margin-left: 1em;">
<b>Header 1</b>
<br/>
Text 1
<br/>
Text 2
<br/>
Text 3
<br/>
Text 4
<br/>
<b>Header 2</b>
</div>
当我在做的时候,我有一个不那么相关的问题。假设我有一个网站,该网站具有可变数量的链接,这些链接都链接到 html,就像我上面的内容一样。这不是这个应用程序,但想想 craigslist - 中央页面上有许多链接。我需要能够访问这些页面中的每一个才能进行解析。什么是这样做的好方法?
谢谢!
额外:下一个网页可能如下所示:
<div id="DIVID2" style="display: block; margin-left: 1em;">
<b>Header 1</b>
<br/>
Different Text 1
<br/>
Different Text 2
<br/>
<b>Header 2</b>
</div>
注意区别:
DIVID 现在是 DIVID2。我可以根据页面上的其他解析来找出 DIVID 的结尾。这不是问题。
我只有两项文本而不是四项。
现在的文字不同了。
注意关键的相似性:
- 标题 1 和标题 2 相同。这些不会改变。