首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 编程语言 > .NET > C#.NET > 抓取网页信息,并用正则表达式分析后得到信息。
【标  题】:抓取网页信息,并用正则表达式分析后得到信息。
【关键字】:
【来  源】:http://blog.csdn.net/yck263/archive/2006/12/20/1450095.aspx

抓取网页信息,并用正则表达式分析后得到信息。

 

Imports System.Xml
Imports System.Text.RegularExpressions
Public Class Form1

    
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        
Try
            
Dim objXml As New XmlDataDocument

            
Dim objXmlElementCity As New XmlDataDocument
            
Dim Content As String = ""

            objXml.LoadXml(
"<root />")
            
'抓取所有城市列表

            Content 
= GetContent("http://localhost/CMA/index.htm""gb2312")

            
'抓到内容后,?始分析数据

            
Dim regex As System.Text.RegularExpressions.Regex
            
Dim mc As System.Text.RegularExpressions.Match


            
Dim objXmlCityList As XmlElement
            
Dim partten As String = ""
            
Dim cityUrl As String = ""
            
Dim parttenCity As String = ""

            
Dim i As Long = 1
            
Dim j As Long = 1

            
'Dim mcCity As System.Text.RegularExpressions.Match

            objXmlCityList 
= objXml.CreateElement("citylist")
            
Dim s As String
            s 
= "2005-2-21"
            
'Regex reg = new   Regex(@"(?<y>d{4})-(?<m>d{1,2})-(?<d>d{1,2})",RegexOptions.Compiled); 
            'Match match = reg.Match(s); 
            'int year = int.Parse(match.Groups["y"].Value); 
            'int month = int.Parse(match.Groups["m"].Value); 
            'int day = int .Parse(match.Groups["d"].Value); 
            'DateTime time = new DateTime(year,month,day); 
            'Console.WriteLine(time); 
            'Console.ReadLine(); 


            
'partten = "^c[1] = new Array(" + """" + "6" + ";"


            
' c[1] = new Array("
            'partten = "" + "(?<citycode>[0-9]{5,})" + """"
            'partten = "(?<citycode>[0-9]{5,})"
            '<citycode>
            'partten = "c[[0-9]{1,2}].*;" ' = new Array" + ".*" + ");"
            'partten = "^[0-9]{2,3}.[0-9]{2,3}.[0-9]{2,3}.[0-9]{2,3}"

            partten 
= "(?<citycode>" & """" & "[0-9]{5}" & """" & ")"
            regex 
= New System.Text.RegularExpressions.Regex(partten, RegexOptions.Compiled Or RegexOptions.IgnoreCase)
            objXmlCityList.SetAttribute(
"vdatetime", DateTime.Now.ToShortDateString())

            mc 
= regex.Match(Content, 0)
            
MsgBox(mc.Groups("citycode").Value)

            
'c.Groups(
            'Do While mc.Success

            
'    'MsgBox(mc.Groups("citycode").Value)
            '    MsgBox(mc.ToString)
            '    'MsgBox(mc.Index)

            
'    'objXmlCityList.AppendChild(
            '    mc = regex.Match(Content, mc.Index + mc.Length)
            '    mc.NextMatch()
            'Loop



        
Catch ex As Exception

        
End Try



    
End Sub



    
Private Function GetContent(ByVal url As StringByVal encoding As StringAs String
        
Dim str As String = ""
        
Dim client As New Net.WebClient
        client.Headers.Add(
"Accept""image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*")
        client.Headers.Add(
"Accept-Language""zh-cn")
        client.Headers.Add(
"UA-CPU""x86")
        client.Headers.Add(
"User-Agent""Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)")
        
Try
            
Dim buffer As Byte()
            buffer 
= client.DownloadData(url)
            
If (encoding = "utf-8"Then
                
str = System.Text.Encoding.GetEncoding("utf-8").GetString(buffer, 0, buffer.Length)
            
Else
                
str = System.Text.Encoding.GetEncoding("gb2312").GetString(buffer, 0, buffer.Length)
            
End If
            
Return str

            
Return str
        
Catch ex As Exception
            
Return ""
        
End Try
    
End Function


End Class

ASP.NET正则表达式查找字符串中重复的字符:【上一篇】
同一页面,不同用户控件间的控制:【下一篇】
【相关文章】
没有相关文章
【随机文章】
  • SharePoint Web Service系列:编写自定义SharePoint Web Services之二
  • Child类调用GrandFather类方法引发的思考
  • 硬盘的分区
  • 关于RCP中使用系统resource navigator图标和项目名称不显示的问题
  • 备份与恢复实验 (归档模式下用户管理的完全恢复)
  • 关于注册Flag在破解中的应用(1)
  • 作为一名程序员,你应该看一看
  • cvsnt
  • Windows分区异常故障疑难解答
  • setcurrent()小知识
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 软讯网络 All Rigths Reserved.