The problem with most disassembler libraries - including the excellent Capstone - is that they do only part of the job that you need. They will gladly disassemble any instruction bytes that you feed them, but they won't tell you which bytes in an executable image are instructions or not.
PE32+ executables have to declare all their non-leaf functions in their .pdata sections so that Windows can properly unwind their stack frames; this gives you a good head start if you are dealing with PE32+ (i.e. the AMD64 species of PE). In most other cases you are pretty much left to your own devices unless you have a capable analysis engine like IDA's and a good library of scripts/plugins.
Have a look at the Python plugins for IDA that are floating around on the 'net. Some of them have to duplicate part of IDA's analysis functionality for one reason or another, and so they tend to fall back on libraries like Capstone. These can be a source of inspiration and/or ready-to-use code.
And don't forget to scrutinise Capstone's list of projects that use Capstone; quite a few of them are Python-based and do advanced analysis of executables.