You can just use Bitcoin Core which is already able to read and parse the blocks to get them into an easier to understand format. You can use the getblock RPC command to get the details of each block.
Fair enough. But if I want to sift through the data using my own software, how would I go about that? Is it possible?