Set material strength and keyframes in Cycles with Python
Haven't had time to test this too much, but should work (or be a good start if not):

import bpy

curMat   = bpy.context.object.active_material
curFrame = bpy.context.scene.frame_current

emitStr = curMat.node_tree.nodes['Emission'].inputs[1]

emitStr.keyframe_insert( 'default_value', frame = curFrame - 2 )

# Delete existing keyframes from curFrame -1 to curFrame + 100
fcurves = curMat.node_tree.animation_data.action.fcurves
for fc in fcurves:
    if fc.data_path == 'nodes["Emission"].inputs[1].default_value':
        kfs     = set( [ kf.co[0] for kf in fc.keyframe_points ] )
        kfRange = set( range( curFrame - 1, curFrame + 100 ) )
        kfsInRange = kfs &amp; kfRange # Inresect both sets

        for i in kfsInRange: 
            emitStr.keyframe_delete( 'default_value', frame = i )

emitStr.default_value = 5                  # Set strength to 5
emitStr.keyframe_insert( 'default_value' ) # Sets kf in current frame by default

emitStr.default_value = 0
emitStr.keyframe_insert( 'default_value', frame = curFrame + 100 )