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