Export posts manually selected by end user (not logged in)

I would recommend doing it mostly in Javascript:

Basic steps (pseudo code):

  1. On the archive page add check boxes <input type="checkbox" name="post-with-id-1" value="1"> next to each post and a submit button <input type="submit" value="Submit"> at the top or bottom of the page.
  2. In js, listen for clicks on the submit button. When it is clicked check which checkboxes are checked and create an array of post ids.
  3. The simplest thing to do then would be to build a url that opens a page in the browser from the REST API like this http://demo.wp-api.org/wp-json/wp/v2/posts?include[]=470&include[]=469 where you append an ‘include[]=470’ for each of the selected posts. That url will build JSON Array that includes object representations of each of your posts.