我想从其中有表的html页面获取一些数据。我得到了行乌金的XPath的名单,现在我想获得的td
内tr
每个元素内的文本(),这里是tr
python xpath空间没有被删除
<tr>
<td>
<a href="#" onclick="WhoisOrderDomain('bank'); return false;"> SHOP
</a>
</td>
<td>COUNTRY</td>
<td class="text-right">1 038,00 USD</td>
<td class="text-right">899,00 USD</td>
<td class="text-right">899,00 USD</td>
<td class="text-center">
<a class="btn btn-sm btn-info" href="#" onclick="WhoisOrderDomain('bank'); return false;"><i class="fa fa-shopping-cart"></i> Order</a>
</td>
</tr>
下面
的基本结构是我在Python的XPath:
td_xpath = XPath("./td/a/text()[normalize-space()] | ./td/text()[normalize-space()]")
和我得到这个输出:
['\r\n SHOP\r\n ', 'COUNTRY', '1038,00 USD', '899,00 USD', '899,00 USD', ' Order']
空间为什么不从第一个元素删除吗?
如何使用xpath从价格中删除','和'USD'?
在为什么我的代码不工作我上面的例子吗? – anekix
@anekix [normalize-space()]是一个过滤器,可以清除空字符串。它不会改变字符串。 –
Thankyou为你的回应,但我有difficuly理解为什么我的代码不工作? './td/a/text()[normalize-space()]'this seleects/td/a/text()然后将过滤器应用于它?因为具有相同语法的下一个xpath正在工作 – anekix