Browsermob-Proxy 備忘

1、下載Browsermob-Proxy到本地

下載地址:

百度雲盤地址:https://pan.baidu.com/s/1jx2xVkFDMDL2nr4ulWCNuQ 提取碼: re8x

Github:https://github.com/lightbody/browsermob-proxy

下載後解壓,代碼中需要用到 browsermob-proxy.bat 文件

2、安裝Browsermob-Proxy的python包

pip install browsermob-proxy

3、實例代碼

import time
from browsermobproxy import Server
from selenium import webdriver
from selenium.webdriver.chrome.options import Options

if __name__ == '__main__':
    # 開啓代理
    BMPserver = Server(r'C:\browsermob-proxy-2.1.4\bin\browsermob-proxy.bat')
    BMPserver.start()
    BMPproxy = BMPserver.create_proxy()

    # 配置代理啓動webdriver
    chrome_options = Options()
    # 禁用擴展插件
    chrome_options.add_argument('--ignore-certificate-errors')
    # https需要加上,要不然回報安全連接問題
    chrome_options.add_argument('--ignore-urlfetcher-cert-requests')
    chrome_options.add_argument('--proxy-server={}'.format(BMPproxy.proxy))
    # 不顯示瀏覽器窗口
    chrome_options.add_argument("--headless")
    dr = webdriver.Chrome(options=chrome_options)

    BMPproxy.new_har("kgdxpr", options={'captureContent': True, 'captureContent': True, 'captureBinaryContent': True})

    url = "https://www.youzy.cn/tzy/search/colleges/collegeList"
    dr.get(url)
    # 手動加睡眠,等待整個頁面的請求加載完成
    time.sleep(2)

    result = BMPproxy.har

    for entry in result['log']['entries']:
        # 打印頁面所有調用的地址
        # print(entry['request']['method'], entry['request']['url'])
        entry_url = entry['request']['url']
        # 根據URL找到數據接口
        if "/youzy.dms.basiclib.api.college.ranking.byyear.query" in entry_url:
            if str(entry['request']['method']) == 'POST':
                _response = entry['response']
                print('****************************')
                print(_response['content']['text'])
                print('****************************')
        else:
            continue

    BMPproxy.close()
    BMPserver.stop()

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章