好久好久沒寫技術(shù)類的文章了,本人這幾年也是大起大伏經(jīng)歷了不少大事。最近也終于可以靜下心來寫點東西。
創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于做網(wǎng)站、成都做網(wǎng)站、寧城網(wǎng)絡(luò)推廣、小程序開發(fā)、寧城網(wǎng)絡(luò)營銷、寧城企業(yè)策劃、寧城品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎;創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供寧城建站搭建服務(wù),24小時服務(wù)熱線:028-86922220,官方網(wǎng)址:www.cdcxhl.com
今天想聊聊POWERSHELL對于WEB頁面的一些應(yīng)用,本人也是最近才發(fā)覺其實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命令可以讓你模擬瀏覽器發(fā)送請求給網(wǎng)站,并且得到你要的信息。
所以今天我們就從簡單的入手,用POWERSHELL下載每日必應(yīng)的美圖
#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")
}
其中最關(guān)鍵的點是如何將亂碼一樣的content轉(zhuǎn)換為Json, 這里要用到 convertfrom-json,由于powershell 是無法從下圖中得到的網(wǎng)頁代碼讀取任何有用信息所以必須要轉(zhuǎn)換。
在成功轉(zhuǎn)換之后存儲在$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運行目錄
}
腳本雖然簡單但是給我的啟發(fā)很大,讓我看到了PS的無限可能。
END