2017-05-19 67 views
1

的我有這一段代碼:篩選出來的href選擇

record = game.select_one('td:nth-of-type(4)') 

取決於我運行的頁面上,我得到的要麼是特定td標籤或只是文字之間的聯繫。例如,我不希望像下面的任何鏈接:

<td><a href="https://www.uselesslink.com">Useless link text</a></td> 

但我確實需要:

<td>Here is some juicy text</td> 

我需要能夠過濾鏈接,這樣,如果一個鏈接被發現,我可以只是打印「無」。因此,像這樣:

if record has link: 
    print('Nothing to show') 
else: 
    print('text found') 

必須有一種簡單的方法來測試hrefa標籤,但我似乎無法釘下來。

回答

2

你可以簡單地檢查是否a發現是這樣的:

if record.a is not None: # link found 

record.a是一個捷徑record.find("a"),如果沒有找到一個元素.find()方法返回None

+0

啊,是的,我現在覺得很傻。男人,BS4有很多選擇讓事情變得難以保持直線! – Biggen

+0

@Biggen權利,BS4提供的靈活性有時會導致「做太多的方法做一件事」的問題:)但是,嚴重的是,它擁有最好的API之一。 – alecxe