我相信我的大腦是由微小縮...保存網頁內容到變量
什麼我做的是檢索網頁,得到一些信息和電子郵件信息,都來自PowerShell的。電子郵件部分工作正常,但我在網頁處理部分有幾個問題。 我最初的想法是獲取頁面,將其下載到臨時文件,然後執行處理,然後刪除該文件。然後,我記得大約12年前在TCL中做類似的腳本,我的方法是將頁面內容傳遞給變量,然後調用變量以使用regexp處理數據。
$storageDir = "C:\Users\me\Documents"
$browser=new-object system.net.webclient
$browser.UseDefaultCredentials = $true
$browser.downloadfile("http://whatever.com/cgi-bin/search_detail.cgi?num=01","$storageDir\Download1.HTML")
以上會救我的處理文件,但就像我說的,我覺得是更好,更潔淨傳遞給一個變量,不知道怎麼做,在PowerShell中。
我在搜索以下3個標籤。所有這些領域將最終在& nbsp,我不需要在回報。 這些領域,我感興趣的字符串傳遞給一個變量字段的格式:
此字段爲字母數字
CAL_ID:</font><td>tt1234
此字段爲字母
CAL_FIRST:</font><td>TILAHUN
這個字段將是一個電話號碼,格式可以改變,它應該如圖所示,但它可以輸入沒有任何電話分隔符或通常()爲區號,空格等。
CAL_NE:</font><td>123-456-7890
通常在TCL我會做這樣的事情在調用HTTP包後:
set posting [::http::geturl http://whateever.com/searchonly -query query]
set raw_data [::http::data $posting]
然後使用頁面的內容$ raw_data讓我的變量,像:
set data [regexp -all -inline -- {CAL_ID:</font><td>([^\>]*) } $raw_data]
等我需要的其他領域。
我的頭只是不工作,越來越沮喪。任何幫助將不勝感激。
感謝您的答覆。它當然有效,但我很難將該值賦值給一個變量。該變量可以設置爲名稱。我查看了convertfrom-stringdata,它確實有一個-OutVariable參數,但是現在我不確定這是否可以用於我想要的功能,請將每個值分配給一個變量。再一次感謝你的幫助。 – Nandy
現在我在做: – Nandy
現在我在做: $ test = $ _-替換「CAL_(ID | FIRST | NE)」 - 替換[regex] :: escape(「」) - 替換爲「 「-replace」:「 當然,測試會分配每個值,最終結果是我瞭解的最後一次交互的最後一個值。我可以使用$ i ++循環類型來更改名稱,但是我認爲它會更優雅,如果變量需要名稱本身,意味着 $ CAL_ID = tt1234 $ CAL_FIRST = TILAHUN $ CAL_NE = 123-456-7890 – Nandy