首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Parsehub选择节点语法

Parsehub选择节点语法
EN

Stack Overflow用户
提问于 2015-06-02 17:36:42
回答 1查看 1.2K关注 0票数 2

我正在尝试使用parsehub从一个网站中提取数据。使用选择工具,我能够隔离每个部分的标题标题,但是我不能使用alt取消选择第二个标题行的第一个单元格。选择节点标准会更改,但实际选择不会更改。所讨论的HTML块

代码语言:javascript
复制
    <tr>
    <td width="100%" align="center">
    <table width="493">
    <tr><td></td></tr>
    <tr><td colspan="3">&nbsp;</td></tr>
    <tr bgcolor="#99cc00" height="17">
    <th height="17" colspan="3" title="Scratcher Name"><div align="center"   class="txt_white_bold">LUCKY 7`S #348</div></th>
  </tr>


<tr bgcolor="#99cc00" height="17">
    <th height="17"><div align="center" class="txt_white_bold">Prize Amount</div></th>
    <th align="right"><div align="center" class="txt_white_bold">Prizes Remaining</div></th>
    <th align="right"><div align="center" class="txt_white_bold">Total Prizes</div></th>
  </tr>

选择节点代码如下所示

代码语言:javascript
复制
 {
      "op": "select",
      "tag": "TR",
      "allDescendants": true,
      "flags": [
        {
          "position": 4
        }
      ]
    }

选择2

代码语言:javascript
复制
{
  "op": "select",
  "tag": "TH",
  "position": 1
}

选择3

代码语言:javascript
复制
 {
      "op": "select",
      "tag": "DIV",
      "classes": [
        "txt_white_bold"
      ],
      "position": 1
    }

当前输出是

代码语言:javascript
复制
{
"selection1":[
{
"extract1":"LUCKY 7`S #348"
},
{
"extract1":"Prize Amount"
},

等等。如何选择"Scratcher名称“而不选择”奖励金额“?

我的第一个想法是将‘Select3’更改为在TH中选择具有title="Scratcher名称“的项,但我没有成功地正确编码它。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-02 19:30:16

ParseHub的学习算法还没有考虑到所有的属性,所以在某些情况下(非常罕见),它不会做您期望的事情。在这种情况下,您可以始终使用css或xpath选择器手动选择所需的元素。

为此:

  1. 任意选择
  2. 单击节点详细信息中的绿色编辑按钮。
  3. 删除除一个外存在的所有文本区域
  4. 将其余文本区域中的json替换为 { "op": "cssSelect", "selector": "th[title='Scratcher Name'] div.txt_white_bold", "allDescendants": true }

如果您想使用xpath,也可以使用xpathSelect。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30602901

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档