如何使用PowerShell下载必应每日图片
好久好久没写技术类的文章了,本人这几年也是大起大伏经历了不少大事。最近也终于可以静下心来写点东西。
创新互联专注为客户提供全方位的互联网综合服务,包含不限于做网站、成都做网站、宁城网络推广、小程序开发、宁城网络营销、宁城企业策划、宁城品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联为所有大学生创业者提供宁城建站搭建服务,24小时服务热线:028-86922220,官方网址:www.cdcxhl.com
今天想聊聊POWERSHELL对于WEB页面的一些应用,本人也是最近才发觉其实PS也是可以做爬虫的。。。所以想抛砖引玉给大家一个思路。
这次要用到的主要命令是 invoke-webrequest
先来看看官方对于这个命令的介绍
The Invoke-WebRequest cmdlet sends HTTP, HTTPS, FTP, and FILE requests to a web page or web service. It parses the response and returns collections of forms, links, images, and other significant HTML elements.
https://docs.microsoft.com/zh-cn/powershell/module/Microsoft.PowerShell.Utility/Invoke-WebRequest?view=powershell-5.1
其实很好理解,这条PS命令可以让你模拟浏览器发送请求给网站,并且得到你要的信息。
所以今天我们就从简单的入手,用POWERSHELL下载每日必应的美图
#bing每日图片 完整代码
$picurl = "https://www.bing.com/HPImageArchive.aspx?format=js&idx=0&n=10"
$data = invoke-webrequest $picurl
$decode = convertfrom-json -inputobject $data.content
$images = $decode.images
foreach ($image in $images)
{
$imageurl = $image.url
$fullurl = "http://www.bing.com" + $imageurl
$name = $image.hsh
invoke-webrequest $fullurl -outfile ($name + ".jgp")
}
其中最关键的点是如何将乱码一样的content转换为Json, 这里要用到 convertfrom-json,由于powershell 是无法从下图中得到的网页代码读取任何有用信息所以必须要转换。
在成功转换之后存储在$decode里的变量变成PS易懂的格式,其中包含了该图片的URL和名称以及哪位大神的作品等等信息。再接下去就很好处理了。
foreach ($image in $images)
{
$imageurl = $image.url
#获取图片URL
$fullurl = "http://www.bing.com" + $imageurl
#补全URL
$name = $image.hsh
#获取图片名称
invoke-webrequest $fullurl -outfile ($name + ".jgp")
#下载到PS运行目录
}
脚本虽然简单但是给我的启发很大,让我看到了PS的无限可能。
END
本文标题:如何使用PowerShell下载必应每日图片
文章起源:http://scyanting.com/article/gecehp.html