Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/74.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 使用Xpath返回表中具有特定列标题文本的所有行_Python_Html_Xpath_Web Scraping_Scrapy - Fatal编程技术网

Python 使用Xpath返回表中具有特定列标题文本的所有行

Python 使用Xpath返回表中具有特定列标题文本的所有行,python,html,xpath,web-scraping,scrapy,Python,Html,Xpath,Web Scraping,Scrapy,我在页面中有以下HTML表: <table> <tbody> <tr> <th>Birth Date</th> </tr> </tbody> </table> 我从页面中的所有表中获取行,而不是带有出生日期标题的表 我遗漏了什么?此页面上有基于表的布局的一个可能原因是:有一个大的主表,每个单元格包含另一个表,依此类推 您需要更具

我在页面中有以下HTML表:

<table>
    <tbody>
        <tr>
            <th>Birth Date</th>
        </tr>
    </tbody>
</table>
我从页面中的所有表中获取行,而不是带有
出生日期
标题的表


我遗漏了什么?

此页面上有基于表的布局的一个可能原因是:有一个大的主表,每个单元格包含另一个表,依此类推

您需要更具体地查找目标表:

//table[ tbody/tr/th[contains(text(), "Birth Date")] ]/tbody/tr

在这个页面上使用基于表的布局的一个可能原因是:您有一个大的主表,每个单元格包含另一个表,依此类推

您需要更具体地查找目标表:

//table[ tbody/tr/th[contains(text(), "Birth Date")] ]/tbody/tr

如果我知道你想要什么,那么我认为你很接近。我想你想要

'//table[.//th[contains(text(), "Birth Date")]]//tr'
(注意
之前的
//th
以查询表而不是整个文档)

你也可以这样写

'//table[contains(.//th/text(), "Birth Date")]//tr'

如果我知道你想要什么,那么我认为你很接近。我想你想要

'//table[.//th[contains(text(), "Birth Date")]]//tr'
(注意
之前的
//th
以查询表而不是整个文档)

你也可以这样写

'//table[contains(.//th/text(), "Birth Date")]//tr'

我在Scrapy Web scraping框架中执行此Xpath。bs4是可接受的替代方案吗?我在Scrapy Web scraping框架中执行此Xpath。bs4是可接受的替代方案吗?工作非常完美!谢谢,很好用!谢谢