user110001: For study purposes, I would like to download blocks from a specific period, i.e. January 2017 - June 2017, in blk.dat format (blk00000.dat, blk*.dat).
I downloaded blockchain.core but it makes me download the whole blockchain - correct me if I'm wrong.
Also I tried with blockchain.info but the problem is that I can only get one block at a time and just in Json or Hex format - don't need those.
So, do you know how could I do and with which program or API to use?
I'm a beginner, so please the more details you can give the better it is, even if they seems obvious.
For this work I'm coding in python.

user-1: The data in blk.dat files is stored in binary, and each new block gets appended to the end of the file. Blocks are not downloaded in order always.
So you can write python code to read files, convert to hex, check if it has one of the blocks mined between 446032- 473593 and save the required information.
https://learnmeabitcoin.com/technical/blkdat
I would suggest doing the sync of full node on your machine instead of downloading blocks data from external sources, however there was a related question in past which has few links which may be helpful: Can I download the whole block chain from somewhere?
One blockchain parser in python which might help you solve this problem: https://github.com/ragestack/blockchain-parser

user63817: Bitcoin Core is the only software that saves the blocks in the blk*.dat format. This format is not standardized and internal (i.e. not exposed to users). The contents of, for example, blk2342.dat can differ between multiple instances of Bitcoin Core.
The only option is to run Bitcoin Core yourself, or to find somebody who runs Bitcoin Core and can provide you with these files.

110001: <p>For study purposes, I would like to download blocks from a <strong>specific period</strong>, i.e. January 2017 - June 2017, <strong>in blk.dat format</strong> (blk00000.dat, blk*.dat).</p>
<p>I downloaded blockchain.core but it makes me download the whole blockchain - correct me if I'm wrong.</p>
<p>Also I tried with blockchain.info but the problem is that I can only get one block at a time and just in Json or Hex format - don't need those.</p>
<p>So, do you know how could I do and with which program or API to use?</p>
<p>I'm a beginner, so please the more details you can give the better it is, even if they seems obvious.</p>
<p>For this work I'm coding in python.</p>
 -1: <p>The data in blk.dat files is stored in binary, and each new block gets appended to the end of the file. Blocks are not downloaded in order always.</p>
<p>So you can write python code to read files, convert to hex, check if it has one of the blocks mined between 446032- 473593 and save the required information.</p>
<p><a href="https://learnmeabitcoin.com/technical/blkdat" rel="nofollow noreferrer">https://learnmeabitcoin.com/technical/blkdat</a></p>
<p>I would suggest doing the sync of full node on your machine instead of downloading blocks data from external sources, however there was a related question in past which has few links which may be helpful: <a href="https://bitcoin.stackexchange.com/questions/799/can-i-download-the-whole-block-chain-from-somewhere/804">Can I download the whole block chain from somewhere?</a></p>
<p>One blockchain parser in python which might help you solve this problem: <a href="https://github.com/ragestack/blockchain-parser" rel="nofollow noreferrer">https://github.com/ragestack/blockchain-parser</a></p>
 63817: <p>Bitcoin Core is the only software that saves the blocks in the blk*.dat format. This format is not standardized and internal (i.e. not exposed to users). The contents of, for example, blk2342.dat can differ between multiple instances of Bitcoin Core.</p>
<p>The only option is to run Bitcoin Core yourself, or to find somebody who runs Bitcoin Core and can provide you with these files.</p>
