XPath importxml谷歌spreadheet

时间:2018-07-21 20:58:35

标签: xpath google-sheets

我正在尝试通过 Google Spreadsheet 中的 importXML 进行网页抓取,请阅读此页面中的内容:

  

http://ddp.usach.cl/procesos-de-seleccion-internos

我需要做的是选择“ Lista de Procesos”下面的列表,并将其按行分开。我转到页面,检查并复制了XPath

 const placeList = this.state.places.map(place => 
    {
        return ( <li>{place}</li> )
    });

产生此代码:

//*[@id="node-page-442"]/div[1]/div/div/div/p[5]

但是,当我尝试加载它时,出现错误#N / A

  

“导入的内容为空”

1 个答案:

答案 0 :(得分:1)

获取内容为“ Lista de Procesos”的h4元素之后的节点的一条路径是

//article[@id='node-page-442']/div[contains(@class, 'content')]/div[contains(@class, 'field-name-body')]/div[@class='field-items']/div[contains(@class,'field-item')]/h4[contains(text(), 'Lista de Procesos')]/following-sibling::*

检索到的子代不是结构化的,而是完整的。如果可以使用XSLT-2.0,则可以通过将for-each-groupgroup-starting-with='strong'一起使用来构造它们。但这只是一种可能性。


表达式可以简化为一个简单的术语:

//h4[contains(text(),'Lista de Procesos')]/following-sibling::*

也许这更适合您的需求。