和查询网址title keywords description的信息一样
可自动辨别网站的编码将网站的信息查询出来
在 ASP 中获取网站的 title、keywords、description 信息可以使用第三方库或自行编写代码来实现。一种常用的方法是使用正则表达式来匹配页面源代码中的相应信息。
为了能够自动辨别网站的编码,可以使用第三方库来解析页面源代码,例如 HtmlAgilityPack。
下面是一个简单的示例代码:
Dim html As String
Dim title As String
Dim keywords As String
Dim description As String
html = GetHTML("http://example.com")
title = GetTitle(html)
keywords = GetKeywords(html)
description = GetDescription(html)
Function GetHTML(ByVal URL As String) As String
Dim objXMLHTTP As Object
Set objXMLHTTP = CreateObject("MSXML2.ServerXMLHTTP")
objXMLHTTP.Open "GET", URL, False
objXMLHTTP.Send
GetHTML = objXMLHTTP.responseText
Set objXMLHTTP = Nothing
End Function
Function GetTitle(ByVal html As String) As String
Dim pattern As String
pattern = "(?i)<title[^>]*>\s*(.*?)\s*</title>"
GetTitle = GetMatch(html, pattern)
End Function
Function GetKeywords(ByVal html As String) As String
Dim pattern As String
pattern = "(?i)<meta\s+name=""keywords""\s+content=""(.*?)"""
GetKeywords = GetMatch(html, pattern)
End Function
Function GetDescription(ByVal html As String) As String
Dim pattern As String
pattern = "(?i)<meta\s+name=""description""\s+content=""(.*?)"""
GetDescription = GetMatch(html, pattern)
End Function
Function GetMatch(ByVal html As String, ByVal pattern As String) As String
Dim objRegExp As Object
Set objRegExp = New RegExp
objRegExp.Pattern = pattern
objRegExp.IgnoreCase = True
objRegExp.Global = True
If objRegExp.Test(html) Then
GetMatch = objRegExp.Execute(html)(0).SubMatches(0)
Else
GetMatch = ""
End If
Set objRegExp = Nothing
End Function
上面的代码使用正则表达式来匹配页面中的 title、keywords、description 信息。获取到页面信息后,可以使用这些信息进行后续的处理。
请注意,上面的代码只是一个简单的示例,在实际应用中可能需要进行更多的处理。例如,确保网站编码正确解析,处理网站挂掉或者网络连接异常的情况。
另外,使用第三方库可能更加方便,如使用HTML Agility Pack来解析页面信息。