code: def _process_book(book_url):
      
      data = DOWNER.download(book_url)
      dom = dhtmlparser.parseString(data)
  
      details_tags = dom.find("div", {"id": "contentDetail"})
  
      assert details_tags, "Can't find details of the book."
  
      details = details_tags[0]
  
      # parse required informations
      title = _parse_title(dom, details)
      authors = _parse_authors(details)
      publisher = _parse_publisher(details)
      price = _parse_price(details)
      pages, binding = _parse_pages_binding(details)
  
      pub = Publication(
          title,
          authors,
          price,
          publisher
      )
  
      # parse optional informations
      pub.optionals.URL = book_url
      pub.optionals.binding = binding
  
      pub.optionals.pages = pages
      pub.optionals.ISBN, pub.optionals.EAN = _parse_ISBN_EAN(details)
      pub.optionals.edition = _parse_edition(details)
      pub.optionals.description = _parse_description(details)
  
      return pub
docs: Parse available informations about book from the book details page.
  
      Args:
          book_url (str): Absolute URL of the book.
  
      Returns:
          obj: :class:`structures.Publication` instance with book details.