Board logo

標題: [發問] 解決從WEB頁面匯入資料,但無法取得網頁換頁採Java控制之資料 [打印本頁]

作者: 97forum    時間: 2015-8-14 15:59     標題: 解決從WEB頁面匯入資料,但無法取得網頁換頁採Java控制之資料

請教各位先進:
    今天想從某個網站匯入頁面資料到Excel,但是由於該網站第一頁乙厚的資料採用Java語法控制,以至於在取得第二頁以後的資料無法匯入。
請問是否有辦法可以匯入第二頁以後之資料嗎?
例如網站 http://www.commotec.com.tw/product/list.aspx?id=2834&brand=AUK
請各位先進幫忙!
作者: joey0415    時間: 2015-8-14 18:39

本帖最後由 joey0415 於 2015-8-14 18:44 編輯

回復 1# 97forum

第一次用這樣的方式跳轉成功,看來這也是不錯的方式!
若有需行請設定引用項目
microsoft internet controls
  1. Sub 晶偉電子數據查詢()

  2.     With CreateObject("internetexplorer.application")
  3.         .Visible = True
  4.         .Navigate "http://www.commotec.com.tw/product/list.aspx?id=2834&brand=AUK"
  5.         Do Until .ReadyState = 4
  6.             DoEvents
  7.         Loop
  8.         s = 0
  9.         
  10.         For p = 1 To 6 '共有六頁
  11.             .Navigate "javascript:__doPostBack('_ctl0$MainPlaceHolder$AspNetPager','" & p & "')" '轉跳至指定頁面
  12.             Do Until .ReadyState = 4
  13.                 DoEvents
  14.             Loop
  15.             
  16. '            Stop
  17.         Set hTable = .Document.getElementsByTagName("table")(5) '第五個table
  18.         

  19.             With ActiveSheet
  20.                 For i = 2 To hTable.Rows.Length - 1 '前二個是標題與空白跳過
  21.                     For j = 0 To hTable.Rows(i).Cells.Length - 1
  22.                         .Cells(s + i - 1, j + 1) = hTable.Rows(i).Cells(j).innerText
  23.                     Next
  24.                 Next
  25.             End With
  26.                 s = s + 20
  27.                
  28.         Next
  29.         .Quit
  30.         MsgBox "OK"
  31.     End With
  32. End Sub
複製代碼

作者: 97forum    時間: 2015-8-17 08:51

回復 2# joey0415


    首先感謝 joey0415先進前輩的解決之道,確實可行。
    但是愚笨的我對您所說的這段話不解?
     " 若有需行請設定引用項目  microsoft internet controls  "
    另外如果要針對每個不同品項,就必需手動改程式碼(品項名稱),且會因每個品項頁數不同改程式碼,是如此對嗎?
作者: joey0415    時間: 2015-8-17 09:57

回復 3# 97forum

如果可以執行就不要管引用項目

http://www.commotec.com.tw/product/list.aspx?id=2834&brand=AUK
是你找出來的網頁
如果換成別的品項時,它的網頁就不同

你只要改成你要的網頁,與該網頁的頁碼總數下去跑

理論上應該會執行出結果
作者: 97forum    時間: 2015-8-17 15:02

回復 4# joey0415


    謝謝您,我了解了。感謝您用心地分享。
作者: 97forum    時間: 2015-8-18 11:20

回復 4# joey0415


    我依照先進的程式碼修改成這個網址 http://www.commotec.com.tw/search/default.aspx?xid=2834&no=&id=0 ,頁數也改成應有的頁數,但是在第10頁或者是第11頁就卡住了,不知其原因為何?但是程式仍然是在執行中。不知是否可以幫忙解惑!
作者: joey0415    時間: 2015-8-18 14:06

回復 6# 97forum

你給的網址打不開

加上你更改網址位置,不再是我之前寫的頁面,就算打得開也不見得有用
作者: 97forum    時間: 2015-8-19 11:39

回復 7# joey0415


   1. 網址是可以開啟,因為要撈資料庫4451筆資料可能會久一些,其出現的網頁形式沒甚麼變動,只是在撈取資料進excel時,換到第10頁、第11頁時就會卡住不動了。
   2. 想請問先進,您當時程式碼中擷取之Table是如何去計算抓取第五資料表?




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)