您好我有一个脚本但是当我尝试捕获我需要的信息时我不能这是我想要的html代码的一部分:
<div class="pretty-container " >
2100.0
</div>
所以在我的socket上尝试这样做以获得2100.0(2100.0它是一个可变数字):
on *:sockread:foo: {
var %read
sockread %read
if ($regex(%read,<div class="pretty-container " >(.*)<\/div>)) {
echo -s price founded: $regml(1)
; - here i try to catch the 2100.0 number
sockclose $sockname
}
}
但是这不起作用我相信这是因为数字而且在另一条线上。请帮忙解决这个问题吗?
先谢谢,
卡洛斯
答案 0 :(得分:1)
您使用的sockread
命令一次只能读取一行。看到您正在寻找的数据分布在多行上,您的正则表达式永远不会找到匹配。
对此的解决方案是简单地检查当前行是否包含<div class="pretty-container " >
,如果是,则将下一行的数据存储在另一个变量中:
var %read, %number
sockread %read
if (<div class="pretty-container " > isin %read) {
sockread %number
echo -s Number: %number
sockclose $sockname
}