2017-03-16 47 views
0

ElementsPython的網頁抓取:如何忽略子元素

我想從第二個文本 「P級=」 TEXT-靜音 「」

一般我用:

outline = soup.find_all("p", {"class":"text-muted"}) 

for item in outline: 
    print (item.text) 

print (item.contents[3].text) 

1,2,3取其我能找到我要找的。但是現在有2個「類」:「文本靜音」。第一個代碼打印元素中的所有元素以及其子元素和我想要的文本。當我添加.contents[0]或1,2,10,...我得到IndexError: list index out of range

如何只在<"p", {"class":"text-muted">中直接打印我想要的文本,而忽略所有的孩子?

回答

1
soup.find_all("p",{"class":"text-muted"},text=True,recursive=False) 

它僅返回該子女的文本值,並且不考慮子元素。