Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用XPath选择某些元素,但排除具有相同分部类的其他元素?_Xpath_Lxml - Fatal编程技术网

如何使用XPath选择某些元素,但排除具有相同分部类的其他元素?

如何使用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')

对于一般的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')
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']