Asked thg 6 12, 2:40 SA 154 0 1
  • 154 0 1
0

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

Share
  • 154 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 ANSWERS


Answered thg 6 12, 3:39 SA
by Dev Success 101
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='
Share
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

0
| Reply
Share
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.

0
| Reply
Share
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à

0
| Reply
Share
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 đó.

+1
| Reply
Share
Viblo
Let's register a Viblo Account to get more interesting posts.