Powershell 获取特定的网页信息的代码
(福利推荐:你还在原价购买阿里云服务器?现在阿里云0.8折限时抢购活动来啦!4核8G企业云服务器仅2998元/3年,立即抢购>>>:9i0i.cn/aliyun)
Powershell可以很轻松的获取网页的信息并读取到对应的内容。如果对象的格式是XML或者Json,那就更容易处理了,一般经常使用invoke-restmethod和invoke-webrequest这两个命令。前者主要是获取Json格式的内容,后者可以获取整个网页的内容。
比如说我希望查询明天悉尼的天气如何。网上随便搜了一个提供API的站点
http://openweathermap.org/current#name
我打算搜索悉尼的,那么对应的格式是
http://api.openweathermap.org/data/2.5/weather?q=sydney,au他会自动生成一个Json格式的结果。
我们可以用invoke-restmethod直接获取这个结果,比如说
$b=invoke-restmethod "http://api.openweathermap.org/data/2.5/weather?q=sydney,au" $c=[pscustomobject]@{ 'Description'=$b.weather.description 'name'=$b.name 'windspeed'=$b.wind.speed }
我也可以直接使用invoke-webrequest抓取整个网页的内容,然后从Json的格式转换过来也是一样的
$a= Invoke-WebRequest -Uri "http://api.openweathermap.org/data/2.5/weather?q=sydney,au"$b=$a.Content | ConvertFrom-Json
类似的,如果我想获取一个博客的RSS的最新内容。可以使用invoke-webrequest抓取对应的XML文件,比如
[xml]$a= Invoke-WebRequest -Uri "http://blogs.msdn.com/b/powershell/rss.aspx“$a.rss.channel.Item | select title,pubdate
功能很强大,使用却很简单。
本文出自 “麻婆豆腐” 博客
相关文章
PowerShell小技巧之使用New-Module命令动态创建对象
这篇文章主要介绍了在PowerShell中使用New-Module命令动态创建对象,比New-Object高大上很多了吧2014-09-09Powershell小技巧之使用WS-Man来调用PowerShell命令
大多Windows系统的管理员应当已经意识到在Windows系统上进行脚本开发和命令行管理,PowerShell首当其冲。微软许多产品和一些第三方产品都提供了Windows PowerShell的管理接口。但是目前PowerShell只能运行在Windows系统上,如何才能在非Windows系统上管理windows系统呢2014-10-10Powershell直接脚本时出现无法加载文件因为禁止执行脚本
Powershell直接脚本时出现无法加载文件因为在此系统中禁止执行脚本,有关此问题的解决方法如下2014-08-08
最新评论