hỏi cách lấy dữ liệu từ bảng giá chứng khoán trực tuyến trên web vào file excel

Liên hệ QC

hanphong_2008

Thành viên mới
Tham gia
8/2/09
Bài viết
28
Được thích
1
hỏi cách lấy dữ liệu từ bảng giá chứng khoán trực tuyến trên web vào file excel. Trước đây mình có lấy được mà giờ ko lấy được từ web bảng giá chứng khoán của công ty nào về file excel nữa, Có bạn nào làm được ko hướng dẫn mình với
 
@hanphong_2008,

Địa chỉ website đó là gì vậy?
 
Trước đây file excel của mình import dữ liệu từ bảng giá cũ này: http://liveprice.fpts.com.vn/user/stockE/HCM/?s=50&language
sau link này cty đã đổi ko dùng nữa lên ko lấy được dữ liệu. Giờ mình thử lấy lấy dữ liệu từ bảng giá của nhiều cty chứng khoán khác mà đều không được? Các bảng giá như https://www.hsx.vn/Modules/Rsde/RealtimeTable/LiveSecurity

http://priceboard.fpts.com.vn/?s=34&t=aAll

http://priceboard.acbs.com.vn/

http://banggia.chungkhoanphuongnam.com.vn/home/index?id=hsx

http://stockboard.sbsc.com.vn/apps/StockBoard/SBSC/HASE.html

http://banggia2.ssi.com.vn/Hnx.aspx

Tất cả đều không được ?
 
loi.jpg
có bạn nào giúp được mình ko nhỉ nó hiện lên lỗi thế này
 
MÌnh muốn lấy từ trang : http://priceboard.fpts.com.vn/?s=34&t=aAll
Lấy hết các cột mà nó hiện ra đó. Đó là trang mình thấy vừa ý nhất để dùng cho việc xử lí dữ liệu của mình

Hoặc lấy từ trang: https://www.hsx.vn/Modules/Rsde/RealtimeTable/LiveSecurity

trong file có cái nút bấm , tùy chọn sàn mà lấy nhé

Mã:
Public Sub hello(ByVal region As String, ByVal targetTB As String)
Dim arr(1 To 2000, 1 To 25), r As Long, str As String
Dim mats, mapID, mat, dArr, ub As Long, col As Long
With CreateObject("MSXML2.ServerXMLHTTP")
    .Open "GET", "http://priceboard.fpts.com.vn/" & region & "/data.ashx?s=quote&l=" & targetTB, False
    .send
    str = .ResponseText
End With
mapID = Array(1, 2, 3, 4, -1, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, _
        16, 17, 18, 19, -1, 20, 21, 22, 23, -1, 24, 25)
ub = UBound(mapID) + 1
With CreateObject("VBScript.RegExp")
    .Global = True
    .Pattern = "\[""?(\d{1,2})""?,""?([^\]""]+)""?"
    dArr = Split(str, "}")
    For r = 0 To UBound(dArr)
        Set mats = .Execute(dArr(r))
        For Each mat In mats
            col = mat.submatches(0)
            If col < ub Then
                If mapID(col) > 0 Then
                    arr(r + 1, mapID(col)) = mat.submatches(1)
                End If
            End If
        Next
    Next
End With
Sheet1.Range("A5").Resize(UBound(arr), UBound(arr, 2)).Value = arr
End Sub
 

File đính kèm

  • fpt.xlsb
    28.9 KB · Đọc: 2,040
Thanks bạn @AutoReply rất nhiều nhé. Mình mượn tạm file bạn để dùng xử lí dữ liêu của mình nhé, mình chưa học về vba nên ko hiểu gì để tùy biến nó trên file của mình cả. Mình sẽ học thêm dần vậy. Cám ơn sự giúp đỡ nhé hi /-*+/
 
Công ty chứng khoán của FPT lại ko có lịch sử bảng giá chứng khoán của các ngày trước đó thì phải ? Chỉ có bảng giá của ngày hiện tại. Mình muốn lấy bảng giá của các ngày trước đó thì phải làm thế nào.

Hiện mình biết chỉ có công ty chứng khoán bản việt bảng giá có chức năng này http://priceboard1.vcsc.com.vn/vcsc/history. Nhưng dữ liệu các cột lại sắp xếp khác với bảng giá của công ty chứng khoán FPT.

Nếu mình muốn lấy được dữ liệu từ nó nhưng các cột được sắp xếp lại như bảng giá của FPT http://priceboard.fpts.com.vn/?s=34&t=aAll thì phải làm như thế nào. Giúp mình với
 
Công ty chứng khoán của FPT lại ko có lịch sử bảng giá chứng khoán của các ngày trước đó thì phải ? Chỉ có bảng giá của ngày hiện tại. Mình muốn lấy bảng giá của các ngày trước đó thì phải làm thế nào.

Hiện mình biết chỉ có công ty chứng khoán bản việt bảng giá có chức năng này http://priceboard1.vcsc.com.vn/vcsc/history. Nhưng dữ liệu các cột lại sắp xếp khác với bảng giá của công ty chứng khoán FPT.

Nếu mình muốn lấy được dữ liệu từ nó nhưng các cột được sắp xếp lại như bảng giá của FPT http://priceboard.fpts.com.vn/?s=34&t=aAll thì phải làm như thế nào. Giúp mình với

Tuần này tôi khá bận , đành nhờ các bạn khác diễn đàn giúp vậy .
 
Web fpts đó cập nhật chậm và thường ko đầy đủ. Em muốn nhờ các anh chị giúp đỡ lấy dữ liệu từ 3 tab HOSE, HNX, UPCOM trên website
http://quotes.vcbs.com.vn/priceboard
về excel ạ.
Rất mong được giúp đỡ, em cảm ơn nhiều ạ!
 
Up, mong được diễn đàn trợ giúp ạ.
 
ủa bạn vẫn đang chờ sao ? Tôi tưởng bỏ đi luôn rồi.
Theo như tôi quan sát thì trang vcbs có cách tổ chức website khá là cũ kĩ cồng kềnh, không giống như trang fpt ở trên, nếu thật sự cần thiết thì tôi vẫn làm được, bạn có thể chờ vài ba bữa nhé, vì tôi không có nhiều thời gian ban ngày, chỉ ráng tranh thủ vài buổi tối thôi à.
 
trong file có cái nút bấm , tùy chọn sàn mà lấy nhé

Mã:
Public Sub hello(ByVal region As String, ByVal targetTB As String)
Dim arr(1 To 2000, 1 To 25), r As Long, str As String
Dim mats, mapID, mat, dArr, ub As Long, col As Long
With CreateObject("MSXML2.ServerXMLHTTP")
    .Open "GET", "http://priceboard.fpts.com.vn/" & region & "/data.ashx?s=quote&l=" & targetTB, False
    .send
    str = .ResponseText
End With
mapID = Array(1, 2, 3, 4, -1, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, _
        16, 17, 18, 19, -1, 20, 21, 22, 23, -1, 24, 25)
ub = UBound(mapID) + 1
With CreateObject("VBScript.RegExp")
    .Global = True
    .Pattern = "\[""?(\d{1,2})""?,""?([^\]""]+)""?"
    dArr = Split(str, "}")
    For r = 0 To UBound(dArr)
        Set mats = .Execute(dArr(r))
        For Each mat In mats
            col = mat.submatches(0)
            If col < ub Then
                If mapID(col) > 0 Then
                    arr(r + 1, mapID(col)) = mat.submatches(1)
                End If
            End If
        Next
    Next
End With
Sheet1.Range("A5").Resize(UBound(arr), UBound(arr, 2)).Value = arr
End Sub
cái này bạn cho nó tự refresh khoảng 5 phút một lần, tức là mở file ra mình không phải bấm nó tự chạy luôn.
 
ủa bạn vẫn đang chờ sao ? Tôi tưởng bỏ đi luôn rồi.
Theo như tôi quan sát thì trang vcbs có cách tổ chức website khá là cũ kĩ cồng kềnh, không giống như trang fpt ở trên, nếu thật sự cần thiết thì tôi vẫn làm được, bạn có thể chờ vài ba bữa nhé, vì tôi không có nhiều thời gian ban ngày, chỉ ráng tranh thủ vài buổi tối thôi à.
Cảm ơn anh, em chờ được ạ. Em ko biết cấu trúc web như thế nào, nhưng thấy vcbs cập nhật số liệu kịp thời và đầy đủ, chính xác hơn ạ.
 
Cho mình hỏi thêm về bài toán này: Làm sao để lấy data của 3 sàn hose, hnx và upcom vào 3 sheet, và thêm 1 sheet để theo dõi các mã mình đầu tư!
 
Web KT
Back
Top Bottom