10/10/2018, 10:46

Bóc tách nội dung

Hiện nay mình đang làm 1 cái project về bóc tách nội dung. MÌnh có vài câu hỏi như này
1. Có phải mọi site đều bóc tách được hết nội dung
2. Các site nó ko quy định các thẻ bằng Id mà toàn dùng class
có cách nào hiệu quả không.

Mọi người cùng chia sẻ thảo luận giúp mình
watashi_wabn viết 12:47 ngày 10/10/2018
mình chưa thử tất cả, nhưng 1 số trang tin tức, có thể lấy được
lọc bằng class cũng được, đâu có sao đâu
Shellingfox viết 12:58 ngày 10/10/2018
Muốn bóc tách nội dung thì mình nghĩ bạn cần tìm hiểu về xPath: http://www.w3.org/TR/xpath/

Dùng PHP thì đây, DOMDocument của PHP có hổ trợ luôn cho xPath: http://vn2.php.net/manual/en/class.domxpath.php
doibuon viết 12:54 ngày 10/10/2018
1. Có phải mọi site đều bóc tách được hết nội dung
Không, vì một số site sử dụng script cho việc render nội dung, một số khác để trong binary như flash.

2. Các site nó ko quy định các thẻ bằng Id mà toàn dùng class
có cách nào hiệu quả không.
Sử dụng kỹ thuật này bạn sẽ rất mệt mỏi. Mỗi khi site cập nhật thì mình lại phải viết lại code, hoặc nhiều site rất khó căn cứ vào các attribute để bóc dữ liệu. Kỹ thuật tốt nhất là sử dụng DOM và XPath giải quyết bài toán đó.

Mình có khoảng 6-7 năm kinh nghiệm trong việc phát triển phần mềm bóc tách dữ liệu VietSpider. Tuy nhiên để đảm bảo bóc được hết tất cả các site, thậm chí là quét hiện vẫn còn không tưởng ngay cả với các crawler của các search engine như Google. Rất nhiều vấn đề như:

- Site chặn crawler. (hvaonline, vatgia)
- Site sử dụng script hoặc hidden form để tương tác với server.
- Sử dụng session cho request content.
...

Hiện VietSpider cũng xử lý tương đối khác các trường hợp nhưng khẳng định tất cả các site đều xử lý được thì không dám.
Profit viết 12:58 ngày 10/10/2018
@VietSpider Mình có xem qua về cái này nhưng cái của bạn chạy trên client , Mình cần viết bóc tách chạy trên server với lại bản quyền nữa

Mình cũng đang dùng simple_html_dom cũng khá hiệu quả nhưng không hiệu quả bằng VietSpider ,

@VietSpider mình mới thử dùng bản free thì thấy nhiều hạn chế ,ko biết bản khác thế nào
doibuon viết 12:58 ngày 10/10/2018
Bản free khá đầy đủ. Bạn thấy hạn chế gì nhỉ. Có thể chạy client sau đó connect tới database trên server ( 1 khách hàng bên Mẽo đã làm chuyện này ngon lành).
Profit viết 12:55 ngày 10/10/2018
@doibuon
Ví dụ khi mình bóc tách được nội dung thì không thể sử lý nó như ý muốn

Các thẻ xml không dễ dàng gì quản lý các thẻ con va thẻ cha.

@ví dụ trong mã nguồn của thẻ a thì mình lấy link của thẻ a ntn ?
vnntech.com viết 12:51 ngày 10/10/2018
nếu là php thì cứ preg_match mà phang hê hê...
s.code viết 13:02 ngày 10/10/2018
Ở đây có ai chơi Facebook ko. Không hiểu sao tính năng đính liên kết của nó, nó tự detect được đâu là nội dung bài viết => lấy title, content, thumb

Ai biết kỹ thuật là gì ko.
Hanaziki viết 12:46 ngày 10/10/2018
Được gửi bởi doibuon
khẳng định tất cả các site đều xử lý được thì không dám.
Đúng như các này nói, chỉ có thể làm tổng quát một số trường hợp cụ thể, không thể bao quát tất cả. Em cũng có đang site một site đang hoạt động kiểu này và phải thường xuyên chỉnh sửa để đảm bảo lấy đúng được nội dung ...
Bài liên quan
0