我在HTML這些元素我想分析:選擇元素相同的第一個
<td class="line"> GARBAGE </td>
<td class="line text"> I WANT THAT </td>
<td class="line heading"> I WANT THAT </td>
<td class="line"> GARBAGE </td>
我怎樣才能讓一個CSS選擇器,選擇帶有屬性的班線元素類別別的東西(可以是標題,文本或其他任何東西)但不屬性類行嗎?
我曾嘗試:
td[class=line.*]
td.line.*
td[class^=line.]
編輯
我使用Python和BeautifulSoup:
url = 'http://www.somewebsite'
res = requests.get(url)
res.raise_for_status()
DicoSoup = bs4.BeautifulSoup(res.text, "lxml")
elems = DicoSoup.select('body div#someid tr td.line')
我期待到修改的最後一塊,即td.line喜歡的東西td.line.whateverotherclass
(但不是td.line單獨,否則我的選擇器就已經足夠)
太棒了!這是一個很好的解決方法。謝謝! –
我應該寫什麼lambda函數來獲取子標記,方法與以下代碼行相同:DicoSoup.select('body div#somed tr td') –
@MthClv您可以說,首先找到父'div' ,例如:'div = soup.select_one(「body div#somed」)',然後在使用搜索功能搜索'td'元素時使用'div'變量而不是'soup'?有點像上下文特定的搜索。 – alecxe