Board logo

標題: [發問] 如何從網頁抓取特定資料放進excel中 [打印本頁]

作者: j88141    時間: 2015-12-21 01:47     標題: 如何從網頁抓取特定資料放進excel中

想請問~
因為最近需要輸入好幾千筆暢銷書的書名資料等
雖然以前有寫過VBA,
但是沒有寫過從網路抓取資料的經驗,
手動輸入300筆後,只好求助版上了...
謝謝大家願意幫忙。



附上網頁及excel檔
http://www.kingstone.com.tw/book/book_page.asp?kmcode=2018576734531&actid=ActBillBoard
[attach]22902[/attach]
[attach]22901[/attach]
作者: joey0415    時間: 2015-12-23 10:04

回復 1# j88141

金石堂太慢了!改用博客來!

找到網站請貼上網址即可

[attach]22936[/attach]


[attach]22935[/attach]
作者: j88141    時間: 2015-12-24 19:06

回復 2# joey0415


原來還可以這樣寫
謝謝 joey0415
作者: joey0415    時間: 2015-12-24 22:33

回復 4# kaui700
  1. Sub 博客來()

  2.     X = InputBox("請輸入博客來網址:(速度較快)", "提示")
  3. '    Application.ScreenUpdating = False
  4. '        Cells.ClearContents
  5.     Sheets("temp").Activate


  6.     Cells.Delete
  7.    
  8.     surl = "URL;" & X

  9.     With ActiveSheet.QueryTables.Add(Connection:=surl, Destination:=Range("$A$1"))
  10.         .RefreshPeriod = 0
  11.         .WebSelectionType = xlEntirePage
  12.         .WebFormatting = xlWebFormattingNone
  13.         .Refresh BackgroundQuery:=False
  14.         .Delete
  15.     End With
  16.    
  17.     finalrow = Cells(Rows.Count, 1).End(xlUp).Row
  18.     fr = Sheets("整理").Cells(Rows.Count, 1).End(xlUp).Row + 1
  19. '    Stop
  20. '        s = 1
  21.         For i = 1 To finalrow
  22.             If Cells(i, 1) = "商品介紹" Then
  23.                 Sheets("整理").Cells(fr, 1) = Cells(i + 1, 1)
  24.             End If
  25.             
  26.             If Left(Cells(i, 1), 3) = "作者:" Then
  27.                 Sheets("整理").Cells(fr, 2) = Trim(Replace(Replace(Cells(i, 1), "作者:", ""), "新功能介紹", ""))
  28.             End If
  29.             
  30.             If Left(Cells(i, 1), 3) = "繪者:" Then
  31.                 Sheets("整理").Cells(fr, 3) = Trim(Replace(Replace(Cells(i, 1), "繪者:", ""), "新功能介紹", ""))
  32.             End If
  33.             
  34.             If Left(Cells(i, 1), 4) = "出版社:" Then
  35.                 Sheets("整理").Cells(fr, 4) = Trim(Replace(Replace(Cells(i, 1), "出版社:", ""), "新功能介紹", ""))
  36.             End If
  37.             
  38.             If Left(Cells(i, 1), 5) = "出版日期:" Then
  39.                 Sheets("整理").Cells(fr, 5) = Trim(Replace(Replace(Cells(i, 1), "出版日期:", ""), "新功能介紹", ""))
  40.             End If
  41.         Next
  42.         
  43.         
  44. Sheets("temp").Cells.Delete

  45. Sheets("整理").Activate
  46. End Sub
複製代碼
資料表名稱:temp  與   整理  才能執行




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