2008-09-24 6 views
28

자바 스크립트 지원으로 웹 사이트 탐색을 자동화하고 페이지에서 HTML을 수집 할 수있는 테스트 스위트 또는 도구 세트가 있습니까?Javascript를 지원하는 스크린 스크래핑에 적합한 도구는 무엇입니까?

물론 BeautifulSoup로 직선 HTML을 다칠 수 있습니다. 그러나 이것은 Javascript가 필요한 사이트에는 좋지 않습니다. :)

+0

셀레늄은 결국 내가 필요로했던 것입니다. Python을 비롯한 많은 언어와 인터페이스가되어있어 콘텐츠를 저장하고 파싱 한 다음 반환 된 콘텐츠를 기반으로 Selenium의 작업을 지시 할 수 있습니다. 답변 해 주셔서 감사합니다. –

답변

25

Selenium 또는 Watir을 사용하여 실제 브라우저를 구동 할 수 있습니다.

THER 또한 일부 자바 스크립트 기반의 헤드리스 브라우저입니다

  • PhantomJS은 머리가없는 웹킷 브라우저입니다.
    • pjscrape은 PhantomJS 및 jQuery를 기반으로하는 스크래핑 프레임 워크입니다.
    • CasperJS은 스크랩 한 URL을 가리킬 필요가있는 경우 PhantomJS에서 bsaed라는 네비게이션 스크립팅 &입니다.
  • Zombie 개인적으로 Node.js

, 나는 같은 우수한 Selenium IDE 확장으로 languagues의 좋은 숫자에 자동화 스크립트를 작성하기위한 지원이 더 성숙 공구를 가지고 셀레늄, 대부분 알고 있어요 테스트 케이스를 작성하고 실행하는 데 사용할 수있는 Firefox 용, 테스트 스크립트를 여러 언어로 내보낼 수 있습니다.

1

자바 스크립트 허구는 브라우저의 내부 DOM 모델을 엉망으로 만들고 원시 HTML에 아무런 영향을주지 않습니다.

2

임의의 사이트에서 사용할 수있는 솔루션을 코딩하는 것은 매우 어려울 것입니다. 각 탐색 메뉴 구현은 매우 독창적 일 수 있습니다. 나는 스크레이퍼와 함께 많은 일을 해왔고 목표로 삼을 사이트를 알고 있다면 여기에 어떻게 접근 할 것인가.

일반적으로 탐색 메뉴에서 사용되는 특정 자바 스크립트를 분석하면 정규식을 사용하여 navmenu를 작성하는 데 사용되는 전체 변수 집합을 쉽게 추출 할 수 있습니다. Beautiful Soup은 한번도 사용 해본 적이 없지만 HTML 요소에서만 작동하고 스크립트 태그 내부에서는 작업 할 수없는 것처럼 사용자의 설명에서 들립니다.

여전히 문제가 있거나 일부 양식 POST 또는 아약스를 에뮬레이션해야하는 경우 Firefox를 설치하고 LiveHttpHeaders 플러그인을 설치하십시오. 이 플러그인을 사용하면 사이트를 수동으로 탐색하고 수동으로 탐색하는 동안 전달되는 쿠키와 함께 탐색중인 URL을 캡처 할 수 있습니다. 그것이 대상 웹 서버 (들)로부터 유효한 응답을 얻기 위해 요청을 보내려면 스 크레이 퍼봇 (scraperbot)이 필요합니다. 이것은 또한 모든 아약스 호출을 캡처하고 원하는 응답을 얻기 위해 동일한 아약스 호출을 스크레이퍼에 구현해야하는 경우가 많습니다.

1

나는 이것을 위해 Selenium을 사용 해왔다. 셀레늄은 브라우저에서 실행되며 Firefox, Webkit 및 IE에서 작동합니다. http://selenium.openqa.org/

6

또한 가능성이다.

HtmlUnit은 " Java 프로그램 용 GUI가없는 브라우저"입니다. HTML 문서를 작성하고 페이지를 호출하고 양식을 작성하고 링크를 클릭 할 수있는 API를 제공합니다. 마치 "일반"브라우저에서 처럼 사용하십시오.

그것은 (지속적 개선) 상당히 좋은 자바 스크립트를 지원 을 가지고 있으며, Firefox 또는 사용하려는 구성에 를 따라 인터넷 익스플로러 중 하나를 시뮬레이션, 매우 복잡 AJAX 라이브러리로도 작동 할 수 있습니다.

일반적으로 을 테스트하거나 웹 사이트에서 정보를 검색하는 데 사용됩니다.

+0

HtmlUnit이 좋은 점은 동의합니다 ... 브라우저를 실행할 필요가 없기 때문에 스크립트에 붙여서 서버에서 자동으로 실행할 수 있습니다. –

+0

실제 자바 스크립트 지원은 위치 리디렉션을 따르는 것입니다. 그것은 근근이 살아가는 데 도움이되지 않습니다. – Zombies

2

Mozenda도 사용할 수있는 훌륭한 도구입니다.

2

당신은 Scrape.it

Update에서 오픈 소스 화면 스크레이퍼를 시도 할 수 있습니다 : 4 월 4로, 2013 Scrape.it 화면 스크레이퍼 오픈 소스가 github에 있습니다.

관련 문제