• 大小: 25.25MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-07-06
  • 语言: Python
  • 标签: python  selenium  xhr  

资源简介

自动化模拟浏览器,打开网站,分析所有ajax / XHR请求,包含详细的response request数据。。。就是F12以后Network中xhr显示的数据。。。 采用python browsermobproxy selenium实现 包含代码,chromedriver 、 firefoxdriver、browsermob proxy等 有空写一个文章

资源截图

代码片段和文件信息

#!/usr/bin/env python
#coding: utf-8

#pip install browsermob-proxy

import xlrd json time
from selenium import webdriver
from browsermobproxy import Server

# analysis xhr data
def AnalysisXHRData(jsondata cbdata):
    entries = jsondata[“entries“]
    with open(‘1.json‘ ‘w‘) as out:
        json.dump(jsondata out)
    
# use chrome 
def ChormeServerProxy(url cb cbdata) :
    server = Server(“browsermob-proxy-2.1.4\\bin\\browsermob-proxy“)
    server.start()
    proxy = server.create_proxy()
    chrome_options = webdriver.ChromeOptions()
    chrome_options.add_argument(“--proxy-server={0}“.format(proxy.proxy))
    proxy.new_har(options={‘captureContent‘: True})
    browser = webdriver.Chrome(options=chrome_options executable_path=“./chromedriver.exe“)
    browser.get(url)
    time.sleep(1)
    cb(proxy.har cbdata)
    server.stop()
    browser.quit()  

# use firefox
def FirfoxServerProxy(url cb cbdata) :
    server = Server(“browsermob-proxy-2.1.4\\bin\\browsermob-proxy“)
    server.start()
    proxy = server.create_proxy()
    profile = webdriver.FirefoxProfile() 
    profile.set_proxy(proxy.selenium_proxy())
    proxy.new_har(options={‘captureContent‘: True})
    browser = webdriver.Firefox(executable_path=“./geckodriver.exe“ firefox_profile=profile)
    browser.get(url)
    time.sleep(1)
    cb(proxy.har cbdata)
    server.stop()
    browser.quit()  

if __name__ == “__main__“:
    
    xlsdata = xlrd.open_workbook(‘./log.xlsx‘)
    table = xlsdata.sheets()[1]
    for row in range(table.nrows):
        try :
            url = table.cell(row 1).value
            if(len(url) > 1) :
                ChormeServerProxy(url AnalysisXHRData table.cell(row 0).value)

        except:
            pass




 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2016-12-26 13:00  browsermob-proxy-2.1.4\
     目录           0  2019-10-26 09:36  browsermob-proxy-2.1.4\bin\
     文件         425  2019-10-26 09:36  browsermob-proxy-2.1.4\bin\bmp.log
     文件         781  2016-12-26 12:40  browsermob-proxy-2.1.4\bin\browsermob-proxy
     文件        2786  2016-12-24 21:14  browsermob-proxy-2.1.4\bin\browsermob-proxy.bat
     目录           0  2016-12-24 21:14  browsermob-proxy-2.1.4\bin\conf\
     文件        1277  2016-12-24 21:14  browsermob-proxy-2.1.4\bin\conf\bmp-logging.yaml
     文件      490543  2016-12-26 12:59  browsermob-proxy-2.1.4\browsermob-core-2.1.4-javadoc.jar
     文件      105875  2016-12-26 12:59  browsermob-proxy-2.1.4\browsermob-core-2.1.4-sources.jar
     文件      114174  2016-12-26 12:59  browsermob-proxy-2.1.4\browsermob-rest-2.1.4-javadoc.jar
     文件       16839  2016-12-26 12:59  browsermob-proxy-2.1.4\browsermob-rest-2.1.4-sources.jar
     目录           0  2016-12-26 13:00  browsermob-proxy-2.1.4\lib\
     文件    21871288  2016-12-26 13:00  browsermob-proxy-2.1.4\lib\browsermob-dist-2.1.4.jar
     文件       11359  2016-12-24 21:14  browsermob-proxy-2.1.4\LICENSE.txt
     文件       29016  2016-12-24 21:14  browsermob-proxy-2.1.4\README.md
     文件         103  2016-12-24 21:14  browsermob-proxy-2.1.4\README.txt
     目录           0  2016-12-24 21:14  browsermob-proxy-2.1.4\ssl-support\
     文件         737  2016-12-24 21:14  browsermob-proxy-2.1.4\ssl-support\ca-certificate-ec.cer
     文件        1273  2016-12-24 21:14  browsermob-proxy-2.1.4\ssl-support\ca-certificate-rsa.cer
     文件        1019  2016-12-24 21:14  browsermob-proxy-2.1.4\ssl-support\ca-keystore-ec.p12
     文件        2582  2016-12-24 21:14  browsermob-proxy-2.1.4\ssl-support\ca-keystore-rsa.p12
     文件     8835072  2019-10-20 11:03  chromedriver.exe
     文件     3566280  2019-10-12 08:38  geckodriver.exe
     文件        1805  2019-10-26 11:51  proxy.py

评论

共有 条评论