def parse_form_action_url(html, parser=None):
    """Parse <form action="(.+)"> url

    :param html: str: raw html text
    :param parser: bs4.BeautifulSoup: html parser
    :return: url str: for example: /login.php?act=security_check&to=&hash=12346
    """
    if parser is None:
        parser = bs4.BeautifulSoup(html, 'html.parser')

    forms = parser.find_all('form')
    if not forms:
        raise VkParseError('Action form is not found in the html \n%s' % html)
    if len(forms) > 1:
        raise VkParseError('Find more than 1 forms to handle:\n%s', forms)
    form = forms[0]
    return form.get('action')
def parse_form_action_url ( html , parser = None ) : if parser is None : parser = bs4 . BeautifulSoup ( html , 'html.parser' ) forms = parser . find_all ( 'form' ) if not forms : raise VkParseError ( 'Action form is not found in the html \n%s' % html ) if len ( forms ) > 1 : raise VkParseError ( 'Find more than 1 forms to handle:\n%s' , forms ) form = forms [ 0 ] return form . get ( 'action' )
Parse <form action="(.+)"> url

    :param html: str: raw html text
    :param parser: bs4.BeautifulSoup: html parser
    :return: url str: for example: /login.php?act=security_check&to=&hash=12346