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.

def _process_book(book_url):
    """
    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.
    """
    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