Crawl data từ web khi gặp một button

Chào mọi người ! Cho mình hỏi khi crawl data từ một web site mà gặp button, radio button, checkbox, … thì xử lý như thế nào ? mình dùng thư viện HTMLAgilityPack và xNet thì lấy được data khi có URL và nội dung cố định. Mình gặp vấn đề crawl page sau khi click button VD : URL abc.com có nội dung là A, khi click vào radio button thì page chuyển sang B (mình cũng không biết có phải ajax không nữa) vẫn giữ nguyên URL là abc.com. Cho mình hỏi làm sao để crawl được dữ liệu từ trang B ? mình cảm ơn !

Ngay cả cty lớn như Google cũng cảm thấy khó xử trường hợp này. Trong thực tế có rất nhiều tình huống xảy ra:

  • Khi bấm nút hiện một div, p, iframe đã nạp sẵn nhưng display: none hoặc visibility là hidden/ collapse.
  • Khi bấm nút gọi request tới một trang xử lý khác để lấy nội dung về theo cách gọi gần giống Ajax.
  • Khi bấm nút thì thay đổi DOM, và DOM mới làm gì may ra trình duyệt với engine chuyên xử lý thì đủ sức phân giải chứ ứng dụng crawler thông thường hầu như không đủ sức mạnh xử lý.
  • Nút bấm đó chính là xử lý CAPTCHA, sau đó mới làm gì… trời biết.

Cho nên, thông thường người ta chỉ crawl những trang web là nội dung text thông thường, còn việc crawl một web dạng app (webapp hay webware) là không nên, phải xử lý thủ công, bằng sức người dưới sự trợ giúp của một vài phần mềm.

Có một vài trường hợp quá khó để crawl mớ lùng nhùng trong đống HTML, người ta đã nghĩ ra một cách :smiley: chậm hơn và khó hơn :smiley:: nạp trang web về thông qua một trình duyệt và lấy hình ảnh đó rồi OCR nó để đọc được tất cả những gì là text trên trang.

11 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?