根据BeautifulSoup中的文字字符串检查Class属性?

时间:2017-09-03 02:57:08

标签: python html

我正在抓取一些HTML结构如下:

<span class="ThreadPrime"><a href="url1">Post title 1</a></span>
<span class="ThreadInfo"><a href="url2">Reply title 2</a></span>

给定文档中所有标记的循环,如果标记的父级具有某个CSS类,在这种情况下为ThreadPrime,我想有条件地进行分支。

这是我正在尝试使用的检查(thisATag是find_all循环中的当前迭代器)。

if thisATag.parent.get("class")=="ThreadPrime"

然而,这种情况似乎从未评估为真。如果我将这个ATag.parent.get(“class”)打印到python控制台,我得到

[u'ThreadPrime']
[u'ThreadInfo']

我不确定在条件中要比较什么。我尝试了“[u'TreadPrime']”和'ThreadPrime',但似乎没有一个匹配。

1 个答案:

答案 0 :(得分:1)

您正在将unicode字符串与已解码的字符串进行比较。有关Unicode类型的信息,请参阅this。试试这个:

my_string = (thisATag.parent.get("class")).decode('utf-8')
if my_string=="ThreadPrime"