python - 如何迭代地读取网站和保存 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")
解决方案
推荐阅读
- pandas - 重复的行但 1 列具有不同的值。仅保留重复且具有特定列值的行
- php - PHP数组数组:在内部数组上推送项目的问题
- python - 如何在这个作业问题中获得正确的输出?
- php - Laravel:未定义属性:Illuminate\Database\Eloquent\Relations\HasMany::$game
- php - 如何为 WordPress 编写一个 webhook,允许我使用一个优惠券代码获得两个单独的折扣?
- javascript - 当 GPU 不可用时从 Aframe 重定向
- go - 如何在 https 中以生产模式运行 Beego 二进制文件?
- r - 如何绘制按月分组的每小时平均时间序列?
- robotframework - “应该是真的 ${list} == ['a', 'b', 'c']” 和 “应该是真的 $list == ['a', 'b', 'c' 有什么区别? ]”?
- javascript - 在提交时保持价值