2014-09-02 89 views
0

我正在尋找一些代碼來提取一個數字,預計從一些HTML代碼的長度將從一到四位數字。我已經使用cURL拉網頁並使用FIND提取我需要的單行信息,但我希望輸出更清晰。Windows批處理腳本從HTML代碼中提取數字?

這是我處理的HTML行的一個示例:

constant_text_here 123 constant_text</h2></td> 

這是否HTML代碼胡來批處理腳本?我對使用Windows批處理代碼編寫腳本一無所知。該號碼可以保持爲一個字符串,但預計會在一到四位數之間。

回答

0
@ECHO OFF 
SETLOCAL 
FOR /f "tokens=2" %%a IN (q25614455.txt) DO SET var=%%a 
ECHO var=%var% 
pause 
GOTO :EOF 

我使用了一個名爲q25614455.txt的文件,其中包含我的測試數據。可悲的是,你不透露什麼constant_text_here實際上是這樣,所以磨刀的程序是在你的bailiwick。 tokens=後面的數字將從文件中提供的文本中選擇一個字符串;例如,您的文字爲constant text here,您需要將tokens=2更改爲tokens=4

它也可能包括你的捲曲/發現的程序和提取你的目標數據在一行,但沒有足夠的細節,一個模糊的一般問題最多可以得到一個模糊的迴應。

+0

謝謝。看到示例後,我可以從那裏調整代碼。常量文本和html代碼在我檢查的網頁上不會更改。只有數字發生了變化,這就是我試圖拉開Web服務器的數據。 – Syntax42 2014-09-02 03:40:25

0

<和>會給你帶來麻煩,因爲它們用於重定向輸出。

是否使用VBscript的可能性?

在命令行:

C:\>set myvar=constant_text_here 123 constant_text</h2></td> 

將輸出:

< was unexpected at this time. 

,但是這將工作:

C:\>set myvar="constant_text_here 123 constant_text</h2></td>" 
C:\>echo %myvar% 
"constant_text_here 123 constant_text</h2></td>" 

C:\>echo [%myvar:~20,4%] 
[123 ] 

假設你感興趣的內容總是可以在20位

被發現