Selenium+Browsermob-Proxy获取浏览器Network请求和响应

写在前面

  • 尝试使用Selenium和Browsermob-Proxy把network里面的数据扒下来。个人觉得这样扒数据又全又清晰,遂写下本文记录扒拉勾网数据时的踩坑过程。还用于个人回顾或给正在坑里的朋友提供一丢丢一丢丢的帮助。

Selenium

  • 安装驱动,建议把驱动放在python.exe同级目录下,使用时可以不用写驱动地址
  • 驱动要与自己的chrome浏览器版本相适应
  • Chrome Selenium驱动下载

Browsermob-Proxy

# 暂停程序运行
import time
# 后面扒下来的数据是字符串里面包着字典,毫无可读性,可以通过json字符串和python字典的相互转换来提高可读性
import json
from browsermobproxy import Server
from selenium import webdriver
# 配置代理用
from selenium.webdriver.chrome.options import Option
开启代理
BMPserver = Server(r'D:\Apython\browsermob-proxy-2.1.4\bin\browsermob-proxy.bat')
BMPserver.start()
BMPproxy = BMPserver.create_proxy()
配置代理并启动WebDriver
  • add_argument参数整理
  • 喜欢博主底下的那句话
    • 今天太阳也东升,而后西沉,早晨盛开的花儿也将凋谢;今天的太阳也西沉,而后东升,阳光照射之处遍地花开,但却已非昨日之花
chrome_options = Options()
# 禁用扩展插件,因为我也不是太懂,总之没了这句,浏览器会报警提示如下图。魔法,勿动。
chrome_options.add_argument('--ignore-certificate-errors')
# BMPproxy.proxy返回的是localhost:8081端口
chrome_options.add_argument('--proxy-server={}'.format(BMPproxy.proxy))
# 如果Selenium驱动放在了python.exe同级目录下,executable_path参数可以省略
brosver = webdriver.Chrome(executable_path="D:\Apython\chromedriver.exe",options=chrome_options)

  • 5
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 11
    评论
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值