如何使用XPath选择某些元素,但排除具有相同分部类的其他元素?
对于一般的XPath(或者python中的特定函数lxml),如何选择一组具有如下标记的元素如何使用XPath选择某些元素,但排除具有相同分部类的其他元素?,xpath,lxml,Xpath,Lxml,对于一般的XPath(或者python中的特定函数lxml),如何选择一组具有如下标记的元素 <div class="cl1 a"> <div class="cl1 b"> 但不是 <div class="cl1"> 您可以使用XPath//div[以(@class,“cl1”)开头];注意cl1后面的空格。比如说, In [20]: import lxml.html as LH In [21]: doc = LH.parse('data.html')
<div class="cl1 a">
<div class="cl1 b">
但不是
<div class="cl1">
您可以使用XPath
//div[以(@class,“cl1”)开头]
;注意cl1
后面的空格。比如说,
In [20]: import lxml.html as LH
In [21]: doc = LH.parse('data.html')
In [24]: doc.xpath('//div[starts-with(@class,"cl1 ")]')
Out[24]: [<Element div at 0x7f0568c68100>, <Element div at 0x7f0568c68158>]
In [25]: [LH.tostring(elt) for elt in doc.xpath('//div[starts-with(@class,"cl1 ")]')]
Out[25]: ['<div class="cl1 a"></div>\n', '<div class="cl1 b"></div>\n']
[20]中的:将lxml.html导入为LH
在[21]中:doc=LH.parse('data.html')
[24]中的doc.xpath('//div[以(@class,“cl1”)]开头])
Out[24]:[,]
[25]中:[doc.xpath中elt的LH.tostring(elt)('//div[以(@class,“cl1”)]'开头)]
Out[25]:['\n','\n']
您可以使用XPath//div[以(@class,“cl1”)开头]
;注意cl1
后面的空格。比如说,
In [20]: import lxml.html as LH
In [21]: doc = LH.parse('data.html')
In [24]: doc.xpath('//div[starts-with(@class,"cl1 ")]')
Out[24]: [<Element div at 0x7f0568c68100>, <Element div at 0x7f0568c68158>]
In [25]: [LH.tostring(elt) for elt in doc.xpath('//div[starts-with(@class,"cl1 ")]')]
Out[25]: ['<div class="cl1 a"></div>\n', '<div class="cl1 b"></div>\n']
[20]中的:将lxml.html导入为LH
在[21]中:doc=LH.parse('data.html')
[24]中的doc.xpath('//div[以(@class,“cl1”)]开头])
Out[24]:[,]
[25]中:[doc.xpath中elt的LH.tostring(elt)('//div[以(@class,“cl1”)]'开头)]
Out[25]:['\n','\n']
您可以使用XPath//div[以(@class,“cl1”)开头]
;注意cl1
后面的空格。比如说,
In [20]: import lxml.html as LH
In [21]: doc = LH.parse('data.html')
In [24]: doc.xpath('//div[starts-with(@class,"cl1 ")]')
Out[24]: [<Element div at 0x7f0568c68100>, <Element div at 0x7f0568c68158>]
In [25]: [LH.tostring(elt) for elt in doc.xpath('//div[starts-with(@class,"cl1 ")]')]
Out[25]: ['<div class="cl1 a"></div>\n', '<div class="cl1 b"></div>\n']
[20]中的:将lxml.html导入为LH
在[21]中:doc=LH.parse('data.html')
[24]中的doc.xpath('//div[以(@class,“cl1”)]开头])
Out[24]:[,]
[25]中:[doc.xpath中elt的LH.tostring(elt)('//div[以(@class,“cl1”)]'开头)]
Out[25]:['\n','\n']
您可以使用XPath//div[以(@class,“cl1”)开头]
;注意cl1
后面的空格。比如说,
In [20]: import lxml.html as LH
In [21]: doc = LH.parse('data.html')
In [24]: doc.xpath('//div[starts-with(@class,"cl1 ")]')
Out[24]: [<Element div at 0x7f0568c68100>, <Element div at 0x7f0568c68158>]
In [25]: [LH.tostring(elt) for elt in doc.xpath('//div[starts-with(@class,"cl1 ")]')]
Out[25]: ['<div class="cl1 a"></div>\n', '<div class="cl1 b"></div>\n']
[20]中的:将lxml.html导入为LH
在[21]中:doc=LH.parse('data.html')
[24]中的doc.xpath('//div[以(@class,“cl1”)]开头])
Out[24]:[,]
[25]中:[doc.xpath中elt的LH.tostring(elt)('//div[以(@class,“cl1”)]'开头)]
Out[25]:['\n','\n']