Việc đầu tiên cần làm là phải lấy ra được một hệ thống các nút tương ứng với các cá thể trong mạng xã hội. Và để làm việc này sẽ có từng bộ Web Crawler – Parser tương ứng với từng dạng mạng xã hội khác nhau.
Bộ Web Crawler – Parser đơn giản là một phương thức trong Java dùng để lấy về toàn bộ mã HTML của liên kết (URL) được chỉ định, mà ở đây là đường dẫn tới danh sách bạn bè (Friend List) của một cá thể nào đó trên mạng xã hội. Sau khi lấy được nội dung dạng mã HTML lưu trữ như một xâu ký tự trong Java, bộ Phân tích cú pháp (Parser) làm việc và lấy ra các friend có xuất hiện trong mã HTML thu được. Thực ra bộ phân tích cú pháp ở đây không hoàn toàn đúng nghĩa là một bộ phân tích cú pháp, nó không có luật cú pháp, cũng không sinh ra tập từ tố … Bộ phân tích ở đây chỉ làm nhiệm vụ lợi dụng việc tồn tại những ký tự tạo nên một định danh cho mỗi cá nhân trên mạng xã hội trong mã HTML của danh sách bạn bè, cộng với việc có một số mã HTML với các thuộc tính nhất định nằm trước và sau định danh đó, từ đó tìm kiếm vị trí các định danh đó, lấy ra và lưu trữ tại Cơ sở dữ liệu.
Như vậy, về mặt bản chất bộ Web crawler và Parser yêu cầu hai điều kiện:
- Danh sách bạn bè của một cá thể trong mạng xã hội phải có thể được hiển thị và lấy về dưới dạng mã HTML.
- Mã HTML thu về phải có những quy tắc nhất định để xác định vị trí của các định danh tương ứng với từng cá thể trong mạng xã hội.
Đây là cách thức xử lý trong thời điểm hiện tại, rõ ràng vẫn bộc lộ nhiều điểm hạn chế nhất định:
- Việc phải lấy toàn bộ mã HTML của trang web danh sách bạn bè của mạng xã hội là tương đối lãng phí đường truyền, bởi trong một trang web có thể còn có nhiều thành phần hơn là chỉ có mã HTML (vd: JavaScript, CSS …), ngoài ra
còn có ảnh … trong khi cái cần thu được chỉ là một vài đoạn mã HTML đơn giản.
- Việc phân tích mã HTML dựa vào các đặc điểm nhất định để lấy ra vị trí xuất hiện các định danh có thể bị ảnh hưởng nếu trong mã HTML đó xuất hiện các đặc điểm nhưng do người dùng tạo ra. Việc này sẽ có thể làm sai lệch kết quả thu được.