【发布时间】:2015-01-03 21:50:01
【问题描述】:
我敢肯定我的大脑每分钟都在萎缩……
我正在做的是检索网页,获取一些信息并通过电子邮件发送该信息,所有这些都来自 powershell。电子邮件部分工作正常,但网页处理部分存在一些问题。 我最初的想法是获取页面,将其下载到临时文件,进行处理然后删除文件。然后我记得大约 12 年前在 TCL 中做了一个类似的脚本,我的方法是将页面内容传递给变量,然后调用变量以使用正则表达式处理数据。
$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 个标签。所有这些字段都将在   中结束,我不需要在返回中使用它。 这些是我有兴趣将字符串传递给变量的字段和字段格式:
此字段将是字母数字
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]
对于我需要的其他字段等等。
我的头脑无法正常工作并且感到沮丧。任何帮助将不胜感激。
【问题讨论】:
标签: powershell