1

こんにちは、私はスクリプトを持っていますが、必要な情報をキャッチしようとすると、取得したい html コードの一部を取得できません。

<div class="pretty-container " >
2100.0
  </div>

したがって、私のソケット y では、これを実行して 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
 }
}

しかし、これは機能しません。番号とが別の行にあるためだと思います。これを解決するために誰か助けてください。

よろしくお願いします。

カルロス

4

1 に答える 1

1

使用sockreadするコマンドは、一度に 1 行しか読み取りません。探しているデータが複数の行にまたがっているため、正規表現で一致するものは見つかりません。

これに対する解決策は、現在の行に が含まれているかどうかを確認し、含まれ<div class="pretty-container " >ている場合は次の行のデータを別の変数に格納することです。

  var %read, %number
  sockread %read
  if (<div class="pretty-container " > isin %read) {
    sockread %number
    echo -s Number: %number
    sockclose $sockname
  }
于 2013-11-24T12:45:21.300 に答える