美丽的汤 - 在文档的两个部分之间搜索

时间:2010-11-03 16:10:25

标签: beautifulsoup

是否可以在页面上两个字符串之间包含的内容上运行Beautiful Soup?

由于反复使用Yahoo Pipes进行屏幕抓取的限制,我开始使用Beautiful Soup,部分原因是Scraperwiki上有托管版本。

关于Yahoo Pipes中HTML Import块的一个方便之处是,它允许您识别起始字符串和停止字符串,因此您可以限制刮擦页面的特定区域。

我在美丽的汤中找到了一种刮/来自/特定字符串的方法:

def scrapeFrom(soup,txt,el,attr=''):
start=soup.find(text=txt)
return start.findAllNext(el,attr)

但是看不到如何转储字符串下游的所有内容?

也就是说,我希望能够说“scrapeFromUntil(soup,fromText,untilText)”并且只在这两个字符串之间刮掉标签?

任何想法如何做到这一点?

1 个答案:

答案 0 :(得分:0)

不完全符合您的要求,但根据您的HTML格式,您可能会发现using SoupStrainer to limit parsing to only part of the document非常有用。