我在制定針對BeautifulSoup的findAll
查詢時會遇到一些麻煩,該查詢會按照我的要求進行。以前,我使用findAll
來從一些html中只提取文本,實質上是去除了所有的標籤。舉例來說,如果我有:在BeautifulSoup中查找標籤和文本
<b>Cows</b> are being abducted by aliens according to the
<a href="www.washingtonpost.com>Washington Post</a>.
這將減少到:
Cows are being abducted by aliens according to the Washington Post.
我會做這個使用''.join(html.findAll(text=True))
。這工作很好,直到我決定只保留<a>
標籤,但將其餘標籤剝離。因此,考慮到最初的例子,我將結束了這一點:
Cows are being abducted by aliens according to the
<a href="www.washingtonpost.com>Washington Post</a>.
我最初以爲下面會做的伎倆:
''.join(html.findAll({'a':True}, text=True))
然而,這不起作用,因爲text=True
似乎表明它只會找到文本。我需要的是一些OR選項 - 我想找到文本或<a>
標籤。標籤保留在他們正在標記的文本週圍是很重要的 - 我不能讓標籤或文本出現亂序。
有什麼想法?
非常感謝!除了使用'findAll'方法之外,我對導航解析樹還不是很熟悉。 –