Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/86.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
Python 使用lxml进行HTML解析时具有相同类名的多个表_Python_Html_Lxml - Fatal编程技术网

Python 使用lxml进行HTML解析时具有相同类名的多个表

Python 使用lxml进行HTML解析时具有相同类名的多个表,python,html,lxml,Python,Html,Lxml,我正在使用lxml获取html页面。 我想获取类名为“class1”的html表。 我做过这样的事情: for span in doc.xpath('//table[@class="class1"]'): print span 但是, 在此之后,我发现HTML页面中有4个表的类名为“class1”。 例如: table A table B table C table D 这四个表都有相同的类名。 如何仅获取表B?您只需获取列表的第二项: result = doc.xpath('//table

我正在使用lxml获取html页面。
我想获取类名为“class1”的html表。
我做过这样的事情:

for span in doc.xpath('//table[@class="class1"]'):
print span
但是,
在此之后,我发现HTML页面中有4个表的类名为“class1”。
例如:

table A
table B
table C
table D
这四个表都有相同的类名。

如何仅获取表B?

您只需获取列表的第二项:

result = doc.xpath('//table[@class="class1"]') if len(result) > 1: print result[1] result=doc.xpath('//table[@class=“class1”]”) 如果len(结果)>1: 打印结果[1] 或者,如果表具有id,则可以通过xpath获取:

print doc.xpath('//table[@id="you id"]')[0] 打印doc.xpath('//table[@id=“you id”]')[0]
您只需获取列表的第二项:

result = doc.xpath('//table[@class="class1"]') if len(result) > 1: print result[1] result=doc.xpath('//table[@class=“class1”]”) 如果len(结果)>1: 打印结果[1] 或者,如果表具有id,则可以通过xpath获取:

print doc.xpath('//table[@id="you id"]')[0] 打印doc.xpath('//table[@id=“you id”]')[0]
我想你想要的是

doc.xpath('//table[@class="class1"]')[1]

我想你想要的是

doc.xpath('//table[@class="class1"]')[1]