def _parse_and_format(self):
soup = BeautifulSoup(self._response.read(), '<STR_LIT>')<EOL>td = soup.find_all('<STR_LIT>')<EOL>td = [val.text.split('<STR_LIT:U+0020>')[<NUM_LIT:0>] for val in td]<EOL>data = np.reshape(td,<EOL>(int(len(td) / self._block_size), self._block_size))<EOL>try:<EOL><INDENT>tab = QTable(data[<NUM_LIT:1>:, :],<EOL>names=data[<NUM_LIT:0>],<EOL>dtype=[str, float, float, float, float, float])<EOL><DEDENT>except IndexError as e:<EOL><INDENT>msg = ('<STR_LIT>'<EOL>'<STR_LIT>'<EOL>'<STR_LIT>'<EOL>'<STR_LIT>'<EOL>.format(e, self._msg_div))<EOL>LOG.info(msg)<EOL>self._zpt_table = None<EOL><DEDENT>else:<EOL><INDENT>for col in tab.colnames:<EOL><INDENT>if col.lower() == '<STR_LIT>':<EOL><INDENT>continue<EOL><DEDENT>tab[col].unit = self._data_units[col]<EOL><DEDENT>self._zpt_table = tab<EOL><DEDENT>
Parse and format the results returned by the ACS Zeropoint Calculator.

        Using ``beautifulsoup4``, find all the ``<tb> </tb>`` tags present in
        the response. Format the results into an astropy.table.QTable with
        corresponding units and assign it to the zpt_table attribute.