2013-07-17 3 views
9

셀레늄을 사용하는 웹 드라이브를 사용하여 브라우저를 열어 IP 주소를 가리키며 물건을 채우고 닫습니다.파이썬에서 트래픽을 캡쳐하는 방법

이 시간 동안 액세스 한 모든 URL을 알고 싶습니다. 즉,로드 된 모든 광고, 임의의 URL로 작성된 모든 CSS 호출 등입니다. 여기

내가 파이어 폭스 플러그인 방화범과 Netexport를로드하여 그것을했다

from selenium import webdriver 

browser = webdriver.Firefox(profile) # Get local session of firefox 
browser.get(url) # Open a url and wait for it to finish 
+0

이건 http://stackoverflow.com/questions/3712278/selenium-rc-how-do-you-use-capturenetworktraffic-in-python의 속임수라고 생각합니다. (물론 확신 할 수는 없지만 원하는 정보). 관련 내용 : http://blog.qaevangelist.com/?p=317 –

+0

닫기. 하지만 트래픽을 캡처하려면 웹 드라이버가 필요합니다. : – Cripto

+1

@ MarkAmery 흠, 링크 된 게시물 (stackoverflow.com/questions/3712278)에서 Selenium v1을 사용합니다 .Cripto와 저는 Selenium v2에서 네트워크 트래픽을 모니터링하는 방법을 알고 있습니다. (프록시 서버는 작동하지만, Selenium v2에 내장 된 솔루션을 찾으려면 정말 좋을 것입니다.) – solvingPuzzles

답변

1

를 사용하여 코드 메신저입니다. 첫 번째는 모든 정보 교환을 볼 수있는 도구이고, 두 번째는 모든 정보를 파일 (.har 확장자)로 쓸 수있는 도구입니다. 따라서 기본적으로 셀레늄은 플러그인, 웹 사이트를로드하고 원하는 시간을 기다려야하며, 닫히면 결과가있는 파일이 생성됩니다.

+1

공유 할 코드가 있습니까? – Shane

1

파이썬 솔루션이 아닙니다. 그러나 Firefox에 피들러 플러그인을 추가 할 수 있습니다. 1 년 전에 똑같은 일을해야했습니다. 우리는 셀렌을 사용하여 브라우저와 모든 UI 도구를 열고 백그라운드에서 피들러가 모든 트래픽 (http 및 https)을 캡쳐했습니다. 이것은 또한 모든 JS CSS src를 나열하고 나중에 inspector로 디버깅 할 수 있습니다. 어떤 요청이 보내지고 어떤 응답이 수신되는지보십시오

관련 문제