Change multiple specific nodes in multiple materials (with python?)

I got an animation with blinking lights, animated with an Emission Node and Transparent Node connected to a Mix Shader. The Mix Shader is animated, so the lights are going on and off by setting the Factor to 0 or 1.

More than 40 materials are already animated, but now I want to adjust the strength of the emission. I don't want to manually edit each material, adjusting the Emmission node's Strength. Is there a way to handle this in a batch?

If I knew earlier than I would work with Node Groups, but I didn't. I'm not good at python, but I think it's possible to create a sort of find and replace script in the context of selected materials.

Good news - that's relatively easy:

import bpy

sel = bpy.context.selected_objects

for obj in sel:
try:
for slots in obj.material_slots:
for nodes in slots.material.node_tree.nodes:
if nodes.type == 'EMISSION':
nodes.inputs[0].default_value = (1,0,0,1) # change RGBA if needd
nodes.inputs[1].default_value = 100 # change strength
#print(nodes.label) # for testing
except:
print('Something wrong with ' + obj.name) # Maybe an object not capable of having materials or empty slot


You can copy/paste this into a new text block int the Text Editor and hit Run Script with the objects that have the materials you want to modify selected.