我想解析html文件,並在找到號碼在html的某些部分。這個腳本的目標是每個令牌獲得一個數字。該腳本必須找到屬於正確IP地址的號碼。解析html文件
這些數字是IP的一部分,但IP並不完整,但分隔爲html標籤。這就是這個工作很複雜。到現在我有這樣的代碼:
@echo off
Setlocal EnableDelayedExpansion
SET proxy_3=hide_2.htm
FOR %%Z IN (hide_2.htm) DO (
FOR /F "tokens=1-20 delims=<>" %%A IN ('grep -B 1411 -E "</table>" %%Z ^| grep -E ^"^(display^|^^\d\d{1,3}^|country^|^<td^>HTTP^|rightborder^).*$^" ') DO (
echo A:%%A + B:%%B + C:%%C + D:%%D + %%E + %%F + %%G + %%H + %%I + %%J + %%K + %%L
FOR %%? in ("%%~A", "%%~B", "%%~C", "%%~D", "%%~E", "%%~F", "%%~G", "%%~H", "%%~I", "%%~J") DO (
SET $=%%~?
echo $:!$!
)
pause
)
)
我在這裏給出鏈接到代碼顏色格式化: http://codepaste.net/iaf4zr
然後,這裏是HTML源代碼我解析: 見線581-585: http://codepaste.net/11bqxd (請耐心等待,這需要一些時間,直到負載但對於你不想等待的情況下,我在這裏粘貼HTML源沒有格式化: http://codepaste.net/wdkcdr)
如果你想看到縮短的版本 - 這是相關的部分 L.581-585: http://codepaste.net/e1t61n
現在我已經做了一些調試:
A: + B:td + C:span + D:span + 41 + /span + span style="display: none;"
+ 111 + /span + div + +
$:
$:td
$:span
$:span
$:41
$:/span
$:span style="display:
$:none
$:
$:111
$:/span
$:div
Press any key to continue...
A: style="display: none;" + B:190 + C:/div + D:span class="" style="" + . + /spa
n + span + 197 + /span + span + +
$: style="display:
$:none
$:
$:190
$:/div
$:span class="" style=""
$:.
$:/span
$:span
$:197
$:/span
$:span
Press any key to continue...
A: style="display: none;" + B:24 + C:/span + D:span + /span + . + span style="di
splay: + + + + +
$: style="display:
$:none
$:
$:24
$:/span
$:span
$:/span
$:.
$:span style="display:
$: "" "" "
Press any key to continue...
A:inline;" + B:132 + C:/span + D:span style="display: none;" + 39 + /span + . +
span + + + +
$:inline;"" "132" "/span" "span
$:style
$:display: none;"" "39" "/span" "." "span
$: "" "
美元 - $:標記$ variable的值,它應該是第二個循環中不帶引號的派生列/標記。在這裏,我查找數字值,不加引號。這在最後一種情況下失敗了。
字符B:... d:馬克第一4個令牌/列,標記未標記的其餘部分...
當視爲/相關部分到線581-585是:
A:inline;" + B:132 + C:/span + D:span style="display: none;" + 39 + /span + . +
span + + + +
$:inline;"" "132" "/span" "span
$:style
$:display: none;"" "39" "/span" "." "span
$: "" "
如果你想看到這部分的顏色,請訪問以下鏈接: http://www.dostips.com/forum/viewtopic.php?f=3&t=3435
所以在第二循環中的令牌B是132,不包括引號。它看起來不錯。但在第三個循環中,它變爲... 風格。
而在第二環1令牌是內聯;「第三循環顯示:內聯‘;’‘132’‘/跨度’」跨度
你能解釋我這怎麼可能?我想在第二位成員收到時看到132。我可以成功解析前3個數字,但這是我無法提供的幫助。