1page로 논문 정리
|
저자 |
Cristian Duda , Gianni Frey, Donald Kossmann , Reto Matter , Chong Zhou |
|
키워드 |
Ajax, crawal, ajax user event |
|
목표 |
Ajax로인한 페이지의 변화도 검색하여 검색 품질을 향상시킨다. |
|
방법 |
페이지에서 유저 이벤트를 추출해서 상태를 만들고 그 상태를 이용해서 AJAX페이지의 모든 결과를 얻어낸다. |
|
응용대상 |
사이트 다운로드, 악성코드 작성과 탐색 |
Ajax페이지는 페이지 내의 이벤트 상태를 Cashing할 수 없고 랜더링을 위한 자바스크립트를 구별할 수 없으며 이벤트가 very granular하고 끊임없이 호출되는 문제로 인하여 CrwalIng하기 힘들다.
YouTube의 경우 코멘트가 Ajax로 나타나는데 일반 검색엔진은 검색결과에 Comment에 대한 내용은 포함 시킬 수 없다. 이러한 문제를 해결 하기 위해서 페이지에 존재하는 이벤트를 모델링한다. Figure3처럼 DOM에 포함되어 있는 관계 속에 모델링을 하기 위한 정보가 내제되어 있다. 그것을 기반으로 Fig.2처럼 페이지 내 상태를 만들고 Fig.4 처럼 페이지간의 상태를 나타낸다.
기존에는 페이지의 내용이 click 이벤트에 의해 다른 페이지로 이동한 경우에만 발생하였지만 지금은 Ajax를 통하여 페이지 내의 특정한 위치에 새로운 내용이 나타난다. 따라서 이 내용을 Crawling해야 하고 그러기 위한 이벤트의 추출이 필요하다. Table1은 그것을 정리한것이다.
페이지 내에 있는 이벤트를 가지고 상태와 상태전이를 알아내면 그것을 통해서 실제로 어떤 위치(흔히 DIV)에 내용이 바뀌는지 알 수 있다. 이 노드를 hot node라 하고 이 DOM 노드의 내용을 바꾸는 것을 hot call이라 한다. hot call들을 식별 해 내고 이에 따른 상태변화를 캡쳐 하면 Ajax페이지에 대한 크롤링이 수행된다. 수행시 지수시간으로 수행 해서는 안되며 페이지는 CRUD중 C,U,D는 제외한다. 페이지에 폼은 없으며 이미지에 기반한 검색은 제외한다.



Prev

Rss Feed
