我在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