it’s certainly possible, though I’m not entirely sure why you’d want to do it. copying a scene object is as simple as calling
bpy.data.scenes.copy(). just remember that all of the data will be linked to the original scene, so you’ll have to manually unlink and re-create relevant blocks of data for the scene. scenes have four major things to keep track of (in terms of data): thew view layer, world, scene collection, and objects.
if you’re just exporting geometry you probably don’t care about the view layer or world, so you’d just need to clear out the collection and create a new one that’s linked to the new scene, then add whatever objects you care about to that collection.
relevant “how?” snippets:
# create a copy of a scene
my_new_scene = bpy.data.scenes.copy()
# clear out the collection in your new scene
for c in bpy.data.collections:
# create a new collection and link it to your new scene
my_new_collection = bpy.data.collections.new("my new collection")
# populate the new collection with objects you care about.
# in this example, only meshes
for o in bpy.data.objects:
if hasattr(o, "data") and isinstance(o.data, bpy.types.Mesh):