Your object has curve data. The curve data object holds a spline collection.
In each spline there are bezier_points or points.
You have mistaken a bezier point for a spline. The spline is a continued element made up from multiple points. As a curve data object can hold multiple splines (they can be discontinued/separate), it has a spline collection.
Found a python solution to get all the instances in the depsgraph. By filtering with "is_instance" you can get the names of the instance object that corespond with the source objects.
context = bpy.context
dg = context.evaluated_depsgraph_get()
counter = 0
for i in dg.object_instances:
obj = i.object
if not i....
You can use the Vector Wiggle node which will generate a 3D Vector randomly based on the input seed. Click the "Add List" icon to generate a given list of random vectors.
Tweak the amplitude in order to constrain x,y, or z axis in a given range.
You can also animate it with the evolution input and the speed factor.
Animation nodes manual :
Supposing you entered your X and Y coordinates in Blender's own orthogonal space. Then a transform that would take them to your 60 degree angled axes, with matching lengths on the new axes, would be:
SY with a numerical entry of sqrt(3)/2, followed by
ShiftCtrlAltS Shear, Z axis, X ortho, by tan(pi/6)