Excel VBA - Lấy dữ liệu thời tiết từ nguồn AccuWeather

HeSanbi

Thành viên tích cực
Tham gia ngày
24 Tháng hai 2013
Bài viết
1,524
Được thích
1,689
Điểm
560
Máy Anh có UltraViewer không
-------------------------------------------

Bạn tải lại file trên vào code VBA export class module có tên ClsHtmlWorker xem có 2 dòng code:
Attribute OnReadyStateChange.VB_UserMemId = 0
'Attribute OnReadyStateChange.VB_UserMemId = 0

Nếu không thì bỏ dấu nháy ' lưu lại và Import vào lại File.

Không được nữa thì đành UltraViewer.
 

PacificPR

Thành viên gắn bó
Tham gia ngày
6 Tháng năm 2016
Bài viết
1,922
Được thích
2,612
Điểm
360
Nơi ở
Cái Bang
-------------------------------------------

Bạn tải lại file trên vào code VBA export class module có tên ClsHtmlWorker xem có 2 dòng code:
Attribute OnReadyStateChange.VB_UserMemId = 0
'Attribute OnReadyStateChange.VB_UserMemId = 0

Nếu không thì bỏ dấu nháy ' lưu lại và Import vào lại File.

Không được nữa thì đành UltraViewer.
Phiên Anh giúp trên máy em tí nhé
Id: 30 692 779
Pass: 6581
Cám ơn Anh nhiều
 

HeSanbi

Thành viên tích cực
Tham gia ngày
24 Tháng hai 2013
Bài viết
1,524
Được thích
1,689
Điểm
560
Phiên Anh giúp trên máy em tí nhé
Id: 30 692 779
Pass: 6581
Cám ơn Anh nhiều
Bạn kiểm tra đoạn code này và chụp màn hình giúp tôi

PHP:
Private Sub Sub_Test()
  With VBA.CreateObject("MSXML2.XMLHTTP")
    .Open "GET", "https://www.giaiphapexcel.com/diendan/whats-new/", False
    .setRequestHeader "Content-type", "application/x-www-form-urlencoded"
    .setRequestHeader "X-Requested-With", "XMLHttpRequest"
    .Send
    MsgBox .responseText
  End With
End Sub
 

PacificPR

Thành viên gắn bó
Tham gia ngày
6 Tháng năm 2016
Bài viết
1,922
Được thích
2,612
Điểm
360
Nơi ở
Cái Bang
Bạn kiểm tra đoạn code này và chụp màn hình giúp tôi

PHP:
Private Sub Sub_Test()
  With VBA.CreateObject("MSXML2.XMLHTTP")
    .Open "GET", "https://www.giaiphapexcel.com/diendan/whats-new/", False
    .setRequestHeader "Content-type", "application/x-www-form-urlencoded"
    .setRequestHeader "X-Requested-With", "XMLHttpRequest"
    .Send
    MsgBox .responseText
  End With
End Sub
Dạ. Em đang ra ngoài. Sáng em gửi Anh nhé
 

HeSanbi

Thành viên tích cực
Tham gia ngày
24 Tháng hai 2013
Bài viết
1,524
Được thích
1,689
Điểm
560
@cuto24, @naturooo, @quyenpv @PacificPR


Tôi phát hiện ra rằng:

Code khi thực hiện trên máy của tôi lại có thể request được site AccuWheather, nhưng sang máy khác thì AccuWheather không trả lại bất kì điều gì.


Thực sự là không tôi không hiểu vấn đề là do phía AccuWheather hay do Phiên bản Office.

Nếu phát hiện được thì tôi sẽ cập nhật để các bạn biết.
 

PacificPR

Thành viên gắn bó
Tham gia ngày
6 Tháng năm 2016
Bài viết
1,922
Được thích
2,612
Điểm
360
Nơi ở
Cái Bang
@cuto24, @naturooo, @quyenpv @PacificPR


Tôi phát hiện ra rằng:

Code khi thực hiện trên máy của tôi lại có thể request được site AccuWheather, nhưng sang máy khác thì AccuWheather không trả lại bất kì điều gì.


Thực sự là không tôi không hiểu vấn đề là do phía AccuWheather hay do Phiên bản Office.

Nếu phát hiện được thì tôi sẽ cập nhật để các bạn biết.
Em chạy đoạn Code của Anh nó ra như thế này Anh ạ
1591020509958.png
 

Cu Tồ

Tìm đến kiến thức!
Tham gia ngày
6 Tháng năm 2020
Bài viết
208
Được thích
49
Điểm
35
@cuto24, @naturooo, @quyenpv @PacificPR


Tôi phát hiện ra rằng:

Code khi thực hiện trên máy của tôi lại có thể request được site AccuWheather, nhưng sang máy khác thì AccuWheather không trả lại bất kì điều gì.


Thực sự là không tôi không hiểu vấn đề là do phía AccuWheather hay do Phiên bản Office.

Nếu phát hiện được thì tôi sẽ cập nhật để các bạn biết.
e nghĩ có khi nào do vị trí hoặc khu vực cài trên máy tính không?
 

NghiaKieu

Thành viên chính thức
Tham gia ngày
27 Tháng năm 2012
Bài viết
72
Được thích
58
Điểm
380
Em đoán do office 32bit. Mấy máy lỗi đều office 32bit cả a ạ!
 

befaint

|||||||||||||
Tham gia ngày
6 Tháng một 2011
Bài viết
9,896
Được thích
11,608
Điểm
1,560
Đoán là: "do phía AccuWheather"

Khi resquest tới AccuWheather để phân tích cấu trúc... viết code thì phía AccuWheather đã lưu lại session_id của client.
-> kết quả code lấy được dữ liệu.
Nếu dùng ở máy tính khác (IP khác) thì AccuWheather chưa có session_id của client -> không lấy được dữ liệu.

Mình chỉ đoán mò vậy thôi.
 

akevin

Thành viên mới
Tham gia ngày
25 Tháng tư 2010
Bài viết
33
Được thích
5
Điểm
665
Em thấy chỉ là lấy data từ web thôi, kiếm trang nào có api, load về json rồi muốn làm gì thì làm có phải dễ ko ợ,

Bác làm cả 1 cái request ra trang đấy rồi lại phải xử lý cả đống dữ liệu cho mệt người nhỉ :D

VD: Openweather
 

PacificPR

Thành viên gắn bó
Tham gia ngày
6 Tháng năm 2016
Bài viết
1,922
Được thích
2,612
Điểm
360
Nơi ở
Cái Bang

quyenpv

Thu nhặt kiến thức
Tham gia ngày
5 Tháng một 2013
Bài viết
400
Được thích
44
Điểm
385
Tuổi
37
@Cu Tồ, @naturooo, @quyenpv @PacificPR

Các bạn test lại 2 file này xem sao
---------------------------------
File chạy tốt anh, tuy nhiên file icon thời tiết bị lỗi không hiển thị ảnh
Bài đã được tự động gộp:

PacificPR ơi. Xin mượn Code của anh HeSanbi đưa vào phần Hồ sơ quản lý chất lượng cho nhẹ. Thêm phần ngày tháng các ngày lễ như cũ nữa là ngon
 
Lần chỉnh sửa cuối:

HeSanbi

Thành viên tích cực
Tham gia ngày
24 Tháng hai 2013
Bài viết
1,524
Được thích
1,689
Điểm
560

PacificPR

Thành viên gắn bó
Tham gia ngày
6 Tháng năm 2016
Bài viết
1,922
Được thích
2,612
Điểm
360
Nơi ở
Cái Bang

NghiaKieu

Thành viên chính thức
Tham gia ngày
27 Tháng năm 2012
Bài viết
72
Được thích
58
Điểm
380
Không hiểu sao trên máy em nó vẫn không chạy ra gì anh ạ :(
 
Top Bottom