2013-05-04 2 views
1

일부 라이브러리 또는 방법을 사용하여 웹 페이지를 수동으로 탐색 할 때 실시간으로 웹 페이지를 스크래핑하는 방법이 있습니까? 내가 알고있는 대부분의 스크래퍼는 브라우저를 에뮬레이트하는 브라우저 객체를 생성합니다. 물론 브라우저를 열면 브라우저가 생성하는 것보다 다를 것입니다.수동으로 탐색 할 때 웹 페이지 스크랩

해결 방법이 없다면 HTML5 게임의 요소를 긁어내어 지능형 에이전트를 만들려고합니다. 나는 더 자세히 설명하지는 않겠지 만, 다른 사람들이 미래에 똑같은 일을 시도한다면 (또는 실제 사용자와의 실시간 스크랩), 이것에 대한 해결책이 그들에게도 유용 할 수 있다고 생각합니다.

미리 감사드립니다.

답변

1

사용 케이스에 따라 SOCKS 프록시 또는 다른 형식의 프록시를 설정하고 모든 트래픽을 기록하도록 구성한 다음 브라우저에서 사용하도록 지시 할 수 있습니다. 그런 다음 어떻게 든 로그를 긁어 버릴 것입니다.

마찬가지로 라우터를 제어 할 수 있다면 해당 라우터에서 캡처 및 로깅을 구성 할 수 있습니다. tcpdump을 사용하십시오. 물론 암호화 된 트래픽은 해독되지 않습니다.

하나의 브라우저로 작업하는 경우 사용자 지정 브라우저 플러그인을 통해 각 작업마다 무언가를하도록 지시하는 방법이있을 수 있지만 보안 모델 문제에 대해서는 제비.

HTML5 게임의 문제는 일반적으로 대부분의 "탐색"이 많은 자바 스크립트를 사용하여 수행된다는 것입니다. Javascript는 일반적으로 DOM 조작, DOM에 맞게 새 콘텐츠 요청을 실행하는 등 많은 작업을 수행합니다.

OS 레벨 또는 브라우저 수준 스크립팅을 사용하는 것이 좋습니다. 키보드 및 마우스 이벤트를 "주도"하거나 스크린 샷을 찍거나 현재 페이지 DOM의 스냅 샷을 찍어 쿼리 할 수있는 서비스.

Selenium과 같은 브라우저 자동화 및 테스트 프레임 워크를 조사해보십시오.

+0

고마워요. 저는 컴퓨터 비전 유형의 물건을보고 있었지만 그렇게하지 않아도되고 싶지 않았습니다. 내 경우에는 - 특히 긁어 내야하는 정보 하나, 브라우저 플러그인으로 할 수는 있지만 제안 된대로 양말을 들여다 보았고 다른 사람들이없는 경우 좋은 대안으로 보입니다. 선택권. – Joker

+0

셀렌과 다른 브라우저 테스트 프레임 워크는 SOCKS 옵션보다 더 쉽습니다. 난 당신이 셀렌과 다른 많은 언어를 사용하여 다른 사람을 운전할 수있을 것 - 꽤 파이썬, 펄, C#, 루비에 대한 후크를 가지고 확신 ... 내 생각 엔 당신이 특정 개체의 존재 또는 부재를 찾고 있습니다 DOM을 들여다 보면 HTML과 JavaScript 및 기타 트래픽을 구문 분석하고 진행 상황을 추론하는 것보다 쉬울 수도 있습니다. 반면 게임에 잘 정의 된 읽기 쉽지 않은 암호화되지 않은 프로토콜이 있으면 프록시가 좋습니다. – leander

0

이 상황에서 작동하는지는 잘 모르겠지만 HTML5에서 작동하는 PyQt를 사용하여 간단한 웹 브라우저를 만들 수 있습니다.이 기능을 사용하면 실제 사용자가 재생할 때 일어나는 일을 캡처 할 수 있습니다 게임.

저는 완전히 다른 응용 프로그램을위한 간단한 브라우저 창에 PyQt를 사용했으며 단순한 샘플 HTML5 게임을 처리하는 것으로 보입니다. 게임에서 무슨 일이 일어나고 있는지에 대한 자세한 내용을 어떻게 파헤 치는지는 PyQt 전문가가 아닌 나를위한 질문입니다.

+0

감사합니다. 좀 더 살펴볼 것입니다. – Joker