この場合、「思わざるを得ない」は「思わ」「ざる」「を」「得」「ない」の5つに分解することができます。
「思わ」は「思う」の変形であり動詞です。
「ざる」は打ち消しの助動詞の「ず」の連体形で、名詞です。また、この「ざる」と言う言葉を古語、つまり昔の言葉ですので、この言葉が使われる場面は、かなり限定されます。
「を」は、おっしゃる通り、目的格を与える格助詞です。
「得」は動詞の「得る」の未然形。
「ない」は打ち消しの助動詞となります。
長くなりましたが、まとめますと、
(1)「思わざる」は名詞です。
(2)「得ない」は「思わざる」を「得ることができない」と言う動詞です。
「思わざる」と言う言葉は古い言葉なので、現代の日本語に当てはめるなら、「思うこと」という意味になります。なので、「思わざるを得ない」は「そういう風に思うことしか出来ない」という意味になります。
長い解説となり申し訳ありません。もしわからないことがあれば、気兼ねなく聞いてみてください。