2009-12-16 14 views
14

JavaScript를 사용하는 웹 사이트를 화면 스크럽하고 싶습니다.자바 스크립트를 사용하는 프로그래밍 방식 Python 브라우저

파이썬 용 프로그래밍 방식 웹 브라우저 인 mechanize이 있습니다. 그러나, 그것은 (이해할 수있는) 자바 스크립트를 해석하지 않습니다. 파이썬에 프로그래밍 방식의 브라우저가 있습니까? 그렇지 않다면 파이썬에서 자바 스크립트 구현을 시도해 볼 수 있습니까?

답변

11

Selenium과 같은 도구를 사용하면 웹 브라우저를 사용하여 스크래핑을 자동화하는 것이 더 나을 수 있으므로 JS가 실행되고 페이지가 실제 사용자와 같이 렌더링됩니다.

2

해당 페이지에서 Chickenfoot 페이지 트리거를 정의하고, 페이지에서 원하는 모든 작업을 실행하고 작업 결과를 로컬 파일에 저장하고 프로그램 내에서 명령 줄에서 Firefox를 호출 한 다음 파일을 읽어서.

7

PyV8 패키지는 파이썬을 위해 Google's V8 Javascript engine을 훌륭하게 포장합니다. Python에서 Javascript 코드로 호출 할 수있을뿐만 아니라 Javascript에서 Python 코드로 다시 호출 할 수 있기 때문에 특히 좋습니다. 따라서 브라우저에서 제공하는 일반적인 객체 (즉, 자바 스크립트 전역 네임 스페이스의 모든 항목 : "window", "document"등)를 구현하는 것이 매우 간단합니다. Javascript가 가능한 파이썬 브라우저 에뮬레이터 일 수 있습니다. 아마도 이것을 mechanize으로 연결하면됩니다.

1

나는 http://wiki.python.org/moin/WebBrowserProgramming에서 사용할 수있는 옵션 중 일부를 살펴볼 것을 권장합니다. 놀랍게도 이것은 일반적인 질문으로오고 있습니다. (나는 오늘 stackoverflow에서 "파이썬 브라우저"라는 단어를 찾아서 3 개를 발견했습니다. Google). 네가 똑같이한다면 내가 준 다른 대답을 찾을거야. 당신이 조프 브라우저 시도 할 수

5

내 마음에 드는 PyPhantomJS입니다. 그것은 Python과 PyQt4를 사용하여 작성되었습니다. 완전히 헤더가 없으므로 JavaScript로 완전히 제어 할 수 있습니다.

그러나 페이지를 실제로 보려면 PyQt4의 QWebView을 사용할 수 있습니다.

+0

이것은 정말 대단합니다. 고맙습니다. – jdi

+1

불행히도 프로젝트 관리자는 프로젝트를 더 이상 유지 관리 할 수 ​​없습니다. 하지만 여전히 1.4.0 릴리스와 호환 될 것입니다. funtionality를 잃지 않고 [PhantomJS] (http://code.google.com/p/phantomjs/)로 전환 할 수 있습니다 (PyPhantomJS가 플러그인 지원과 비교하여 비교할 수 있었던 모든 멋진 기능 제외). . 그들은 유지 보수 (핵심 장치)를 인수 할 다른 사람을 찾고 있으므로 잘 지내지 않을 것입니다. :) –

관련 문제