写在前面 尝试使用Selenium和Browsermob-Proxy把network里面的数据扒下来。个人觉得这样扒数据又全又清晰,遂写下本文记录扒拉勾网数据时的踩坑过程。还用于个人回顾或给正在坑里的朋友提供一丢丢一丢丢的帮助。 Selenium 安装驱动,建议把驱动放在python.exe同级目录下,使用时可以不用写驱动地址 驱动要与自己的chrome浏览器版本相适应 Chrome Selenium驱动下载 Browsermob-Proxy Browsermob-Proxy Github下载 # 暂停程序运行 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)