Powershell 获取特定的网页信息

简介:

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格式的结果。


wKioL1YTZcayHgafAAErC9Ji2JA626.jpg

我们可以用invoke-restmethod直接获取这个结果,比如说

1
2
3
4
5
6
7
8
$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
    
    }

wKioL1YTZjSwGdo5AAA5n_HX8Fc325.jpg


  我也可以直接使用invoke-webrequest抓取整个网页的内容,然后从Json的格式转换过来也是一样的

1
2
$a Invoke-WebRequest  -Uri  "http://api.openweathermap.org/data/2.5/weather?q=sydney,au"
$b = $a .Content |  ConvertFrom-Json


类似的,如果我想获取一个博客的RSS的最新内容。可以使用invoke-webrequest抓取对应的XML文件,比如


 

1
2
3
  
[xml] $a Invoke-WebRequest  -Uri "http://blogs.msdn.com/b/powershell/rss.aspx“
$a .rss.channel.Item | select title,pubdate

wKioL1YTaL_BYQbcAASVFTKgnjQ514.jpg


功能很强大,使用却很简单。










本文转自 beanxyz 51CTO博客,原文链接:http://blog.51cto.com/beanxyz/1700365,如需转载请自行联系原作者

目录
相关文章
|
3月前
|
数据安全/隐私保护 异构计算 Windows
【Azure 环境】 介绍两种常规的方法来监视Window系统的CPU高时的进程信息: Performance Monitor 和 Powershell Get-Counter
【Azure 环境】 介绍两种常规的方法来监视Window系统的CPU高时的进程信息: Performance Monitor 和 Powershell Get-Counter
|
6月前
|
存储 JSON 运维
【运维】Powershell 服务器系统管理信息总结(进程、线程、磁盘、内存、网络、CPU、持续运行时间、系统账户、日志事件)
【运维】Powershell 服务器系统管理信息总结(进程、线程、磁盘、内存、网络、CPU、持续运行时间、系统账户、日志事件)
159 0
|
存储 JSON 运维
【运维】Powershell 服务器系统管理信息总结
Powershell 服务器系统管理信息总结(进程、线程、磁盘、内存、网络、CPU、持续运行时间、系统账户、日志事件)
128 0
|
jenkins 持续交付 Windows
Jenkins基础--Windows批处理,PowerShell获取指定的Credentials账户信息
Jenkins中Windows批处理,PowerShell获取指定的Credentials账户信息
5011 0
|
网络协议 网络虚拟化
下一篇
无影云桌面