用Python和美丽的汤进行Web刮痧

时间:2013-03-03 22:08:04

标签: python web-scraping screen-scraping beautifulsoup scraper

我一直在使用Python的Beautiful Soup库来抓取页面,但是我遇到了一些限制。我一直在抓不同的(通常是新闻)网站,并且不提前知道网站的轮廓是什么样的。理想情况下,我想要一个功能,只是抓住网站上的主要文本(而不是其他文章的链接标题)。我注意到文本通常位于网站的<p>标签内,但并非总是如此,所以我创建了这个功能:

def get_text(html):
    soup = BeautifulSoup(html)
    text = ""
    for node in soup.findAll('p'):
        inner_node = node.findAll(text=True)
        for inner_text in inner_node:
            text += ' ' + inner_text
    return text

然而,它不能一直工作,我经常错过物品。我认为必须存在已经制作的东西,我可以使用它和/或在抓取文本时遵循一些最佳实践。我很感激你对此事的指导。

0 个答案:

没有答案