Yêu cầu thg 6 12, 2:40 SA 185 0 1
  • 185 0 1
0

Lấy dữ liệu HS code từ trang web

Chia sẻ
  • 185 0 1

Hi các anh chị và các bạn, hiện tại mình đang cần lấy dữ liệu full bộ HS Code 98 chương từ trang : https://vntr.moit.gov.vn/vi/search

Mình đã thử làm với nodeJS và có một chút kết quả tuy nhiên mình gặp phải vấn đề khó khăn là DOM của trang này thiết kế động. Tức là ngay từ đầu load trang nó không tải hết các data cấp con bên trong mà khi nào mình muốn xem đến data cấp con nào thì cần phải bấm vào cấp cha thì sau đó nó mới lấy dữ liệu và gắn vào DOM để hiển thị ra. Điều này gây khó khăn trong việc xử lý crawl. Mọi người có biết cách xử lý cho tình huống này không xin chỉ giáo mình với ạ. Mình xin cám ơn rất nhiều

thg 6 12, 3:39 SA

1 CÂU TRẢ LỜI


Đã trả lời thg 6 12, 3:39 SA
by Phelab
0

@wiliamfeng Viết script gọi thẳng API của họ luôn bạn ơi. Crawl theo DOM làm gì. 😃 Mẫu endpoint này để lấy mấy thằng con thì phải. Bạn ngâm cứu theo hướng này xem:

curl 'https://vntr.moit.gov.vn/vi/api/v1/commodity/child'
  --data-raw 'v=&id=05&c_level=-1&locale=vi&search_id='
Chia sẻ
Avatar Hoang vn @wiliamfeng
thg 6 12, 4:08 SA

@huukimit mình chưa hình dung được cách làm này cụ thể này thế nào mong bạn chỉ giáo mình thêm chút được không

thg 6 13, 8:59 SA

@wiliamfeng nghĩa là web này nó cung cấp sẵn API để lấy content rồi, giờ chỉ cần dùng luôn API của nó thay vì phải get content từ DOM.

Avatar Hoang vn @wiliamfeng
thg 6 13, 11:17 SA

@vungnho có API đâu bạn, cái này khi request trả về kiểu HTML mà

thg 6 17, 10:22 SA

@wiliamfeng thì lại chuyển cái kết quả trả về sang DOM xong bóc lấy data và link. Trong code HTML ban đầu có sẵn thẻ <ul><li></li></ul> để lưu rồi đó.

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí