Another alternative, worse, is to compile a list of amino acid residue names (including modifications) and then cross-check with your protein chains.
Finally, you can download the chemical components dictionary and use this to parse your structure.
I guess if the molecule is a protein there will be a sequence description in the PDB file. So search for those ChainIDs which don't have sequence descriptions. However some small peptide ligand can have sequence too.
Look into PDBSUM database, mostlikely you'll find which ChainID corresponds to the macromolecule or ligand>
However I'm not sure whether you'll be able to distinguish ligands from additives by both of these ways.
Alternatively, try http://www.bindingmoad.org/ which distinguishes ligands from general additives for a lot of PDB structures.