original_docstring: 
          Input: soup as a BeautifulSoup object
          Output: Document
          
docstring: soup as a BeautifulSoup object
  Output: Document
docstring_tokens: soup as a BeautifulSoup object Output : Document
code: def parse(self, url,headers = {'User-Agent': USER_AGENT}): 
          '''
          Input: soup as a BeautifulSoup object
          Output: Document
          '''
          soup = self.read_url(url, headers = headers)
          
          website = self.detect(soup)
          
          if website == 'elsevier': 
              elsevier = ElsevierHtmlReader()
              return elsevier.parse(str(soup))
              
          if website == 'springer': 
              springer = SpringerMaterialsHtmlReader()
              return springer.parse(str(soup))
              
          if website == 'acs': 
              acs = AcsHtmlReader()
              return acs.parse (str(soup))
          
          if website == 'rsc': 
              rsc = RscHtmlReader()
              return rsc.parse(str(soup))
          
          return Document()
code_tokens: def parse ( self , url , headers = { 'User-Agent' : USER_AGENT } ) : soup = self . read_url ( url , headers = headers ) website = self . detect ( soup ) if website == 'elsevier' : elsevier = ElsevierHtmlReader ( ) return elsevier . parse ( str ( soup ) ) if website == 'springer' : springer = SpringerMaterialsHtmlReader ( ) return springer . parse ( str ( soup ) ) if website == 'acs' : acs = AcsHtmlReader ( ) return acs . parse ( str ( soup ) ) if website == 'rsc' : rsc = RscHtmlReader ( ) return rsc . parse ( str ( soup ) ) return Document ( )
short_docstring: Input: soup as a BeautifulSoup object
  Output: Document
short_docstring_tokens: Input : soup as a BeautifulSoup object Output : Document
comment: '''
          Input: soup as a BeautifulSoup object
          Output: Document
          '''