首页 > 解决方案 > 如何迭代地读取网站和保存 har 数据(我有 1000 个 URL 的 CSV 文件 - 但无法保存具有唯一名称的文件

问题描述

本项目目标:在浏览器插件中测试10个广告拦截器,并在1000次运行中为1个广告拦截器检索1000个har数据。所以总数据集将是 10X1000(测试数据)+1000(原始数据)= 11000。

该脚本在读取 1 个 url 并保存 1.har 时运行顺利。但是,我有一个包含 1000 个 url 的 CSV 列表,我想要的是从 csv 运行 url 并分别保存 1-1000.har 而不会覆盖。

但是,我无法链接以保存部分。当我启动程序时,浏览器只是不断加载不同的 url,但只保存 1 个 har 数据文件。

import csv
from browsermobproxy import Server
from selenium import webdriver
import json
server = Server("D:\\browsermob-proxy-2.1.4\\bin\\browsermob-proxy.bat")
server.start()
proxy = server.create_proxy()

profile = webdriver.FirefoxProfile()
profile.set_proxy(proxy.selenium_proxy())
driver = webdriver.Firefox(firefox_profile=profile)

extension_dir = "C:\\Program Files (x86)\\Mozilla Firefox\\browser\\features\\"

# remember to include .xpi at the end of your file names 
extensions = [
    'adblock_plus-3.5-an+fx.xpi'
    ]

for extension in extensions:
    driver.install_addon(extension_dir + extension, temporary=True)
    proxy.new_har("qq")

path = "D:\websites.csv"    
csvfile = open(path,'r')
reader = csv.reader(csvfile)
result = {}
for item in reader:
    if reader.line_num ==1:
        continue
    result[item[0]] = item[1]

csvfile.close()
print(result)


for id, web in result.items():
    website = web
    driver.get(website)




server.stop()
driver.quit()


f = os.fdopen(fi, "w")

标签: pythonseleniumhar

解决方案


推荐阅读