全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

powershell网络蜘蛛解决乱码问题

抓取(爬取)网上信息的脚本程序,俗称网络蜘蛛。
powershell中自带了这样的两个命令,【Invoke-WebRequest】和【Invoke-RestMethod】,但这两个命令有时候会乱码。

现在转帖分享, 某个【歪果仁】写的脚本。来源于 墙外出处: https://gist.github.com/angel-vladov/9482676

核心代码

function Read-HtmlPage {
param ([Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)][String] $Uri)

# Invoke-WebRequest and Invoke-RestMethod can't work properly with UTF-8 Response so we need to do things this way.
[Net.HttpWebRequest]$WebRequest = [Net.WebRequest]::Create($Uri)
[Net.HttpWebResponse]$WebResponse = $WebRequest.GetResponse()
$Reader = New-Object IO.StreamReader($WebResponse.GetResponseStream())
$Response = $Reader.ReadToEnd()
$Reader.Close()

# Create the document class
[mshtml.HTMLDocumentClass] $Doc = New-Object -com "HTMLFILE"
$Doc.IHTMLDocument2_write($Response)

# Returns a HTMLDocumentClass instance just like Invoke-WebRequest ParsedHtml
$Doc

#powershell 传教士 转帖并修改的文章 2016-01-01, 允许再次转载,但必须保留名字和出处,否则追究法律责任

}

原文函数

function Read-HtmlPage {
  param ([Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)][String] $Uri)

  # Invoke-WebRequest and Invoke-RestMethod can't work properly with UTF-8 Response so we need to do things this way.
  [Net.HttpWebRequest]$WebRequest = [Net.WebRequest]::Create($Uri)
  [Net.HttpWebResponse]$WebResponse = $WebRequest.GetResponse()
  $Reader = New-Object IO.StreamReader($WebResponse.GetResponseStream())
  $Response = $Reader.ReadToEnd()
  $Reader.Close()

  # Create the document class
  [mshtml.HTMLDocumentClass] $Doc = New-Object -com "HTMLFILE"
  $Doc.IHTMLDocument2_write($Response)
  
  # Returns a HTMLDocumentClass instance just like Invoke-WebRequest ParsedHtml
  $Doc
}

PowerShell function you can use for reading UTF8 encoded HTML pages content. The built in Invoke-WebRequest and Invoke-RestMethod fail miserably.


# powershell蜘蛛  # 乱码问题  # 转帖  # 但这  # 带了  # 墙外  # 网上  # param  # Parameter  # Mandatory  # HtmlPage  # ps  # function  # Read  # true  # ValueFromPipeline  # String  # Uri  # work  # Position  # UTF  # properly 


相关文章: 如何快速选择适合个人网站的云服务器配置?  西安制作网站公司有哪些,西安货运司机用的最多的app或者网站是什么?  如何选择适配移动端的WAP自助建站平台?  如何通过WDCP绑定主域名及创建子域名站点?  魔方云NAT建站如何实现端口转发?  东莞专业制作网站的公司,东莞大学生网的网址是什么?  如何在Windows服务器上快速搭建网站?  山东网站制作公司有哪些,山东大源集团官网?  如何有效防御Web建站篡改攻击?  如何快速生成凡客建站的专业级图册?  建站之家VIP精选网站模板与SEO优化教程整合指南  广州营销型建站服务商推荐:技术优势与SEO优化解析  如何快速搭建FTP站点实现文件共享?  javascript基本数据类型及类型检测常用方法小结  如何做静态网页,sublimetext3.0制作静态网页?  ui设计制作网站有哪些,手机UI设计网址吗?  如何使用Golang table-driven基准测试_多组数据测量函数效率  建站主机核心功能解析:服务器选择与网站搭建流程指南  如何处理“XML格式不正确”错误 常见XML well-formed问题解决方法  如何通过可视化优化提升建站效果?  天津个人网站制作公司,天津网约车驾驶员从业资格证官网?  建站之星logo尺寸如何设置最合适?  C#如何使用XPathNavigator高效查询XML  如何彻底卸载建站之星软件?  如何快速打造个性化非模板自助建站?  ,南京靠谱的征婚网站?  深圳网站制作公司好吗,在深圳找工作哪个网站最好啊?  云南网站制作公司有哪些,云南最好的招聘网站是哪个?  外贸公司网站制作,外贸网站建设一般有哪些步骤?  如何在橙子建站中快速调整背景颜色?  定制建站哪家更专业可靠?推荐榜单揭晓  香港服务器建站指南:外贸独立站搭建与跨境电商配置流程  如何在万网ECS上快速搭建专属网站?  如何用美橙互联一键搭建多站合一网站?  如何解决VPS建站LNMP环境配置常见问题?  python的本地网站制作,如何创建本地站点?  如何基于云服务器快速搭建个人网站?  如何快速启动建站代理加盟业务?  海南网站制作公司有哪些,海口网是哪家的?  h5网站制作工具有哪些,h5页面制作工具有哪些?  建站之星免费版是否永久可用?  建站之星如何快速解决建站难题?  如何通过VPS建站实现广告与增值服务盈利?  高端建站三要素:定制模板、企业官网与响应式设计优化  网站制作怎么样才能赚钱,用自己的电脑做服务器架设网站有什么利弊,能赚钱吗?  北京网站制作费用多少,建立一个公司网站的费用.有哪些部分,分别要多少钱?  如何快速生成可下载的建站源码工具?  制作网站的过程怎么写,用凡科建站如何制作自己的网站?  如何安全更换建站之星模板并保留数据?  网站制作服务平台,有什么网站可以发布本地服务信息? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。