我正在尝试使用parsehub从网站中提取数据。使用选择工具,我能够隔离每个部分的标题标题,但我无法使用alt-click取消选择第二个标题行的第一个单元格。选择节点标准会更改,但实际选择不会更改。 有问题的HTML块
<tr>
<td width="100%" align="center">
<table width="493">
<tr><td></td></tr>
<tr><td colspan="3"> </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>
选择节点代码如下 选择1
{
"op": "select",
"tag": "TR",
"allDescendants": true,
"flags": [
{
"position": 4
}
]
}
选择2
{
"op": "select",
"tag": "TH",
"position": 1
}
选择3
{
"op": "select",
"tag": "DIV",
"classes": [
"txt_white_bold"
],
"position": 1
}
当前输出
{
"selection1":[
{
"extract1":"LUCKY 7`S #348"
},
{
"extract1":"Prize Amount"
},
等。我怎么只选择“Scratcher Name”而不是“Prize Amount”?
我的第一个想法是更改'选择3'以选择TH中具有title =“Scratcher Name”的项目,但我没有成功正确编码。
答案 0 :(得分:1)
ParseHub的学习算法尚未考虑所有属性,所以在某些(相当罕见的)情况下,它不会做你期望的事情。在这种情况下,您始终可以使用css或xpath选择器手动选择所需的元素。
这样做:
用
替换剩余文本区域中的json {
"op": "cssSelect",
"selector": "th[title='Scratcher Name'] div.txt_white_bold",
"allDescendants": true
}
如果您想使用xpath,也可以使用xpathSelect。