none
[VB.NET][已解決]抓取網頁日期有錯誤? RRS feed

  • 問題

  • 請問前輩們,

    我想要抓取 下面網址的 資料
    (台灣彩券)

    http://www.taiwanlottery.com.tw/Lotto/Dailycash/history.aspx

     

    然而 執行出來的 日期部份卻不正確

    日期部份好像會判斷錯誤?

    下面是連結圖檔

    http://ppt.cc/8LqO

     

     

     

    這是全部的 程式碼
    Public
     Class
     Form1
     Protected
     Friend
     WebBrowserRead As
     New
     WebBrowser
     Dim
     mynum(4) As
     Byte
    
     Dim
     DataDate As
     Date
    
    
     '等待網頁讀取完成
    
    
     Sub
     Loading(ByRef
     [web] As
     WebBrowser)
      Do
     Until
     WebBrowserRead.ReadyState = WebBrowserReadyState.Complete
       Application.DoEvents()
      Loop
    
     End
     Sub
    
    
     Private
     Sub
     Button1_Click(ByVal
     sender As
     System.Object, ByVal
     e As
     System.EventArgs) Handles
     Button1.Click
      '載入網頁
    
      WebBrowserRead.Navigate(TextBox1.Text)
      '等待網頁載入完成
    
      Loading(WebBrowserRead)
    
      ListBox1.Items.Clear()
    
      Dim
     theElementCollection As
     HtmlElementCollection = WebBrowserRead.Document.GetElementsByTagName("SPAN"
    )
    
    
      For
     Each
     [HtmlElement] As
     HtmlElement In
     theElementCollection
    
       If
     IsDate(HtmlElement.OuterText) Then
    
    
        DataDate = CDate
    ([HtmlElement].OuterText)
        '範例
    
        ' <span class="newsdate">2010/12/17</span>
    
        ListBox1.Items.Add(DataDate)
       End
     If
    
       If
     IsNumeric([HtmlElement].OuterText) And
     Len(HtmlElement.OuterText) < 3 Then
    
        '範例
    
        ' <span class="newsdate">2010/12/17</span>
    
        For
     Myi = 0 To
     4
    
    
         Mynum(Myi) = [HtmlElement].OuterText
        Next
    
       End
     If
    
       '範例
    
       '<a href="/Lotto649/index.asp">遊戲介紹</a>
    
       If
     mynum(0) <> Nothing
     Then
    
    
    
        ListBox1.Items.Add(" | "
     & mynum(0) & ","
     & mynum(1) & ","
     & mynum(2) & ","
     & mynum(3) & ","
     & mynum(4))
       End
     If
    
      Next
    
    
    
     End
     Sub
    
    
     Private
     Sub
     Form1_Load(ByVal
     sender As
     Object
    , ByVal
     e As
     System.EventArgs) Handles
     Me
    .Load
      TextBox1.Text = "http://www.taiwanlottery.com.tw/Lotto/Dailycash/history.aspx"
    
    
     End
     Sub
    
    End
     Class
    
    
    

     

     

    • 已編輯 白楓林 2010年12月18日 下午 03:22
    2010年12月18日 上午 10:03

解答

  • 從你圖片來看,你抓到 6,739 ...

    應該是你數錯格了~

     


    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。
    • 已標示為解答 白楓林 2010年12月18日 下午 03:22
    2010年12月18日 上午 10:22
  • 前面 都很正常的抓...只是不知道為何

    四位數居然就會跳進去 日期的判斷內

     

    剛剛在測試一下

    例如

    8,590 這數字也會被判斷成日期格式

    變成 8/1/0590  這種型態並且讓 ISDate 函數判斷 8,590 是一種日期格式


     

    • 已標示為解答 白楓林 2010年12月18日 下午 03:22
    2010年12月18日 下午 02:53

所有回覆

  • 從你圖片來看,你抓到 6,739 ...

    應該是你數錯格了~

     


    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。
    • 已標示為解答 白楓林 2010年12月18日 下午 03:22
    2010年12月18日 上午 10:22
  • 前面 都很正常的抓...只是不知道為何

    四位數居然就會跳進去 日期的判斷內

     

    剛剛在測試一下

    例如

    8,590 這數字也會被判斷成日期格式

    變成 8/1/0590  這種型態並且讓 ISDate 函數判斷 8,590 是一種日期格式


     

    • 已標示為解答 白楓林 2010年12月18日 下午 03:22
    2010年12月18日 下午 02:53
  • 很明確的日期欄位,請用規則運算式來過濾。
    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。
    2010年12月19日 下午 01:07