【发布时间】:2016-07-04 21:31:47
【问题描述】:
我有一个要使用 BS4 废弃的旧网页。其中一个部分是一篇很长的文章,我需要删掉。那篇文章的格式很奇怪:
<div id='essay'>
this is paragraph1
<p>this is paragraph2</p>
this is paragraph3
<p>this is paragraph4</p>
</div>
使用 bs4,我尝试了以下操作: 使用
soup.find('div', id='essay').text
我可以提取
'this is paragraph1' and 'this is paragraph3'
或
ps = soup.find('div', id='essay').find_all('p')
for p in ps:
print p.text
我可以提取
'this is paragraph2' and 'this is paragraph4'
如果我同时使用,我会得到第 1、3、2、4 段,这是乱序的。我需要确保段落顺序也是正确的。我该怎么做才能做到这一点?
编辑:问题中的问题只是一个例子,它不能保证在偶数和奇数段落之间交错......让我澄清一下我的问题:我想有一种方法来提取段落 IN SEQUENCE 不管有没有
。
【问题讨论】:
-
soup.find('div', id="essay").text得到你想要的,所以你的实际 html 必须有更多。那或者你正在使用一些旧的错误版本的 bs4
标签: python web-scraping beautifulsoup