Powershell 简单爬虫示例 附,爬知乎示例 加代理

来源:互联网 发布:沙宝亮 知乎 编辑:程序博客网 时间:2024/06/02 00:01
<#

Powershell 调用.Net实现爬虫
同样调用.Net可以实现更多的功能,比如写数据库,发邮件等
#>
$request=[System.Net.WebRequest]::Create('https://www.zhihu.com/question/53415194')
#建立一个请求。也可以用webclient这个类


$proxy=[System.Net.WebProxy]::new()


#创建代理

$proxy.Address="http://xxxxxxx.com:8080"

#代理地址

$proxy.Credentials=[System.Net.NetworkCredential]::new("User","Passwd")

#代理的账户密码

$request.Proxy=$proxy

#让请求使用代理


$response=$request.GetResponse()
#接受回复
$stream=$response.GetResponseStream()
#获取回复的数据
$enc=[System.Text.ASCIIEncoding]::GetEncoding("utf-8")
#定义对数据的编码
$en_stream=[System.IO.StreamReader]::new($stream,$enc)
#对数据进行编码
$data=$en_stream.ReadToEnd()
#$data
#获取编码后的数据
#以上部分开头加上param([Parameter(Mandatory=$True)]此处应有回车[string]$URL)打包一下就是个极简的网页代码获取
$rex="<title>`n*(.*?)`n*</title>"
#定义正则
$data -match $rex 
#正则匹配
$result=$Matches[1] #>C:\Users\kai\Desktop\2.txt
#获得结果。结果中的True 当输出的时候是不存在的。
$result

0 0