This is be possible with Biber's tool mode. Unfortunately, there was a tiny issue with the exact functionality you need in versions before 2.11. The issue has been reported (https://github.com/plk/biber/issues/212) and is resolved in Biber 2.11.
Create a onlybooks.conf with the contents
<?xml version="1.0" encoding="UTF-8"?>
<config>
<output_align>true</output_align>
<output_fieldcase>lower</output_fieldcase>
<sourcemap>
<maps datatype="bibtex" map_overwrite="1">
<map>
<per_nottype>book</per_nottype>
<map_step map_entry_null="1" />
</map>
</maps>
</sourcemap>
</config>
Then call Biber with
biber --tool --configfile=onlybooks.conf <yourfile>.bib
and you should be presented with a file called <yourfile>_bibertool.bib that only contains the @book entries of <yourfile>.bib.
The caveat that Biber deletes fields not known in its data model of course also applies here, see Prevent `biber --tool` from removing non-standard fields in .bib files.
Alternatively, you can use bib2bib of bibtex2html. You can find out much more in the PDF documentation.
Use
bib2bib -c '$type = "BOOK"' -ob onlybooks.bib <yourfile.bib>
to obtain only the @book entries of <yourfile>.bib in onlybooks.bib.
The type must always be in all caps and must be enclosed in quotation marks. On Windows OSes the outer quotation marks should be double and the inner single -c "$type = 'BOOK'", while on Unix it should be the other way round -c '$type = "BOOK"'
You can also use bibtool:
bibtool --select{@book} all.bib -o some.bib
Writes only the @book entries of all.bib to some.bib
Some bibliography managers like JabRef also offer to filter .bib files, maybe that can be used here as well.