2013-07-17 11 views
9

Selenyum kullanarak bir tarayıcı benim için bir tarayıcı açar, bir ip adresine yönlendirir, bir sürü şey yapar ve kapanır.Python'da trafik yakalama

Bu süre zarfında erişilen tüm URL'leri bilmek istiyorum. Yani, yüklenen tüm reklamlar, herhangi bir url vb. Için yapılan tüm css çağrıları. İşte

Ben firefox eklentileri Kundakçı ve Netexport yükleyerek yaptım

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

Sanırım bu, http://stackoverflow.com/questions/3712278/selenium-rc-how-do-you-use-capturenetworktraffic-in-python adresinin bir kopyasıdır. istediğiniz bilgi). Ayrıca muhtemelen ilgili: http://blog.qaevangelist.com/?p=317 –

+0

Yakın. Ama trafiği yakalamak için web sürücüsüne ihtiyacım var. :( – Cripto

+1

@MarkAmery hmm, bağlandığınız gönderiye benziyor (stackoverflow.com/questions/3712278) Selenium v1'i kullanıyor. Cripto ve ben Selenium v2'deki ağ trafiğini nasıl izleyeceğimizi merak ediyorum. (Proxy sunucusu çalışır, ama bu ' Selenium v2) 'ye yerleşik bir çözüm bulmak harika olurdu. – solvingPuzzles

cevap

1

kullanarak kod im olduğunu. Birincisi, tüm bilgi alışverişini görmenizi sağlayan bir araçtır, ikincisi bir dosyayı (.har uzantılı) yazmayı sağlar. Yani temel olarak selenyum eklentileri, web sitesini yüklemek ve istediğiniz zamanı beklemek zorundadır ve kapanırsa sonuçla bir dosya alırsınız.

+1

Paylaşmak için herhangi bir kodunuz var mı? – Shane

1

Bu bir python çözümü değil .. Ancak Firefox'a fiddler eklentisi ekleyebilirsiniz. Yaklaşık bir yıl önce aynı şeyi yapmamız gerekiyordu. Tarayıcıyı ve tüm UI'leri açmak için selenyum kullandık ve arka planda Fiddler tüm trafiği yakaladı (http ve https). Bu ayrıca tüm JS CSS src'lerini listeler ve daha sonra denetçiyle hata ayıklayabilir ve hangi yanıtın alındığını ve hangi yanıtın alındığını görür