• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >ASP > vbs或asp采集文章时网页编码问题

vbs或asp采集文章时网页编码问题

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-11

通过本文主要向大家介绍了vbs运行时错误,vbs,vbs整人代码,vbs教程,vbs病毒等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
'/*=========================================================================   
' * Intro       研究网页编码很长时间了,因为最近要设计一个友情链接检测的VBS脚本,而与你链接的人的页面很可能是各种编码,以前采取的方法是:如果用GB2312查不到再用UTF-8查,再找不到证明对方没有给你做链接虽然不是100%正确,但也差不多了,这两种编码用的人比较多,偶然间在收藏夹里的一个地址看到的一个思路,终于可以在采集文章时自动判断网页的编码了。因为研究过程中这个问题困扰很久,虽然现在觉得简单了,想必很多人还在找,所以把这三个函数贴出来。   
' * FileName    GetWebCodePage.vbs   
' * Author      yongfa365   
' * Version     v2.0   
' * WEB         http://www.yongfa365.com   
' * Email       yongfa365[at]qq.com   
' * FirstWrite  http://www.yongfa365.com/Item/GetWebCodePage.vbs.html   
' * MadeTime    2008-01-29 20:55:46   
' * LastModify  2008-01-30 20:55:46   
' *==========================================================================*/   

  
Call getHTTPPage("http://www.baidu.com/")   
Call getHTTPPage("http://www.google.com/")   
Call getHTTPPage("http://www.yongfa365.com/")   
Call getHTTPPage("http://www.cbdcn.com/")   
Call getHTTPPage("http://www.csdn.net/")   

  
'得到匹配的内容,返回数组   
'getContents(表达式,字符串,是否返回引用值)   
'msgbox getContents("a(.+?)b", "a23234b ab a67896896b sadfasdfb" ,True)(0)   

Function getContents(patrn, strng , yinyong)   
'by www.yongfa365.com 转载请保留链接,以便最终用户及时得到最新更新信息   
    On Error Resume Next  
    Set re = New RegExp  
    re.Pattern = patrn   
    re.IgnoreCase = True  
    re.Global = True  
    Set Matches = re.Execute(strng)   
    If yinyong Then  
        For i = 0 To Matches.Count -1   
            If Matches(i).Value<>"" Then RetStr = RetStr & Matches(i).SubMatches(0) & "柳永法"  
        Next  
    Else  
        For Each oMatch in Matches   
            If oMatch.Value<>"" Then RetStr = RetStr & oMatch.Value & "柳永法"  
        Next  
    End If  
    getContents = Split(RetStr, "柳永法")   
End Function  

Function getHTTPPage(url)   
    On Error Resume Next  
    Set xmlhttp = CreateObject("MSXML2.XMLHTTP")   
    xmlhttp.Open "Get", url, False  
    xmlhttp.Send   
    If xmlhttp.Status<>200 Then Exit Function  
    GetBody = xmlhttp.ResponseBody   
    '柳永法(www.yongfa365.com)在此的思路是,先根据返回的字符串找,找文件头,如果还没有的话就用GB2312,一般都能直接匹配出编码。   
    '在返回的字符串里看,虽然中文是乱码,但不影响我们取其编码,   
    GetCodePage = getContents("charset=[""']*([^"",']+)", xmlhttp.ResponseText , True)(0)   
    '在头文件里看编码   
     If Len(GetCodePage)<3 Then GetCodePage = getContents("charset=[""']*([^"",']+)", xmlhttp.getResponseHeader("Content-Type") , True)(0)   
    If Len(GetCodePage)<3 Then GetCodePage = "gb2312"  
    Set xmlhttp = Nothing  
    '下边这句在正式使用时要屏蔽掉   
    WScript.Echo url & "-->" & GetCodePage   
    getHTTPPage = BytesToBstr(GetBody, GetCodePage)   
End Function  

  
Function BytesToBstr(Body, Cset)   
    On Error Resume Next  
    Dim objstream   
    Set objstream = CreateObject("adodb.stream")   
    objstream.Type = 1   
    objstream.Mode = 3   
    objstream.Open  
    objstream.Write Body   
    objstream.Position = 0   
    objstream.Type = 2   
    objstream.Charset = Cset   
    BytesToBstr = objstream.ReadText   
    objstream.Close  
    Set objstream = Nothing  
End Function </div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • vbs或asp采集文章时网页编码问题

相关文章

  • 2017-05-11FSO文件对象介绍及常用函数
  • 2017-05-11aspupload 3.0 下载与使用集锦
  • 2017-05-11javascript asp教程第五课--合二为一
  • 2017-05-11使用FSO按文件大小浏览文件目录并进行删除操作
  • 2017-05-11cls_main.asp第1/3页
  • 2017-05-11记录集内随机取记录的代码
  • 2017-05-11独立图片服务器的图片上传的解决方式
  • 2017-05-11asp 实现的冒泡排序程序
  • 2017-05-11ASP编程入门进阶(廿一):DAO SQL之建立数据库表
  • 2017-05-11asp adodb.stream对象的方法/属性

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 捌度空间 缓存类
    • ASP常见的保留字整理(变量与表名注意不能用)
    • Asp WinHttp.WinHttpRequest.5.1 对象使用详解 伪造 HTTP 头信息
    • 在Vista IIS 7 中用 vs2005 调试 Web 项目的注意事项
    • 查看ASP详细错误提示信息的图文设置方法
    • asp 数组 重复删除函数(脚本之家增强版)
    • 叶子asp分页类
    • ASP中获得Select Count语句返回值的方法
    • asp中xmlhttp组件发包
    • asp sqlserver 执行存储过程返回记录集报对象关闭时不允许操作

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有