如何通过" class" beautifulsoup中的属性?

时间:2018-03-14 06:44:04

标签: python html beautifulsoup

我想从下面的html代码中捕获一个标记。

<pre class="sourceHeading">          Line data    Source code</pre>
<pre class="source">

现在我赶上&#34; pre&#34;标记为pres = soup.find_all("pre")
然后我想抓住其班级名称来源的标签 但是当我打字时:

pre = soup.find(class = "source")

&#34; class&#34;属性将与python关键字冲突&#34; class&#34;。
如何捕获class = "source"

的标记

2 个答案:

答案 0 :(得分:1)

这是因为单词class是一个关键字,它不能用作参数名称。因此,您需要添加一个尾随下划线:

pre = soup.find(class_='source')

或者,将字典传递给attrs参数:

pre = soup.find(attrs={'class' : 'source'})

答案 1 :(得分:1)

试试这个:

pre = soup.find_all("pre", {'class':'source'})

OR

pre = soup.find("pre", {'class':'source'})

注意:在您的示例中,您的代码崩溃,因为class是一个关键字,它不能用作参数名称。

希望这会对你有所帮助!谢谢! :)