首页 > 解决方案 > 刮文字;我不确定 Google Chrome Inspect 元素是否给了我正确的 XPath。我在哪里可以获得正确的路径?

问题描述

在这里,我想抓取一个名为“fundsnetservices.com”的网站。具体来说,我想抓取每个程序下面的文本——它是关于一个段落的文本。

使用 Google Chrome Inspect 方法,我能够拉出这个......

'/html/body/div[3]/div/div/div[1]/div/p[2]/text()'

...作为xpath。但是,每次我打印出文本时,它都会返回 [ ]。为什么会这样?

response = urllib.request.urlopen('http://www.fundsnetservices.com/searchresult/30/International-Grants-&-Funders/18.html')
tree = etree.HTML(response.read().decode('utf-16'))
text = tree.xpath('/html/body/div[3]/div/div/div[1]/div/p[2]/text()')

标签: pythonhtmlxmlxpathlxml

解决方案


您的代码似乎返回空白节点。使用以下命令更正您的 XPath:

//p[@class="tdclass"]/text()[3]

推荐阅读