Я хочу захватить трафик на сайты, которые я просматриваю, чтобы использовать Selenium с python, и поскольку трафик будет https с использованием прокси-сервера, он не заберет меня далеко.Съемка сети с помощью Selenium/PhantomJS
Моя идея состояла в том, чтобы запустить phantomJS с селеном и использовать phantomJS для выполнения скрипта (не на странице с использованием webdriver.execute_script(), а на самом phantomJS). Я думал о сценарии netlog.js (отсюда https://github.com/ariya/phantomjs/blob/master/examples/netlog.js).
Поскольку он работает, как это в командной строке
phantomjs --cookies-file=/tmp/foo netlog.js https://google.com
должен быть подобный способ сделать это с селеном?
Заранее спасибо
Update:
решаемые его browsermob-прокси.
pip3 install browsermob-proxy
Python3 код
from selenium import webdriver
from browsermobproxy import Server
server = Server(<path to browsermob-proxy>)
server.start()
proxy = server.create_proxy({'captureHeaders': True, 'captureContent': True, 'captureBinaryContent': True})
service_args = ["--proxy=%s" % proxy.proxy, '--ignore-ssl-errors=yes']
driver = webdriver.PhantomJS(service_args=service_args)
proxy.new_har()
driver.get('https://google.com')
print(proxy.har) # this is the archive
# for example:
all_requests = [entry['request']['url'] for entry in proxy.har['log']['entries']]
Кроме того для установки библиотеки python с помощью 'pip', также необходимо загрузить последнюю версию bmp из' https: // github.com/lightbody/browsermob-proxy/releases' и установить среду выполнения java 'apt-get install default- jre'.' <путь к брови ermob-proxy> 'затем устанавливается путь, к которому вы загрузили bmp. – isedwards