| 411 | """ |
| 412 | |
| 413 | def __init__(self, *, session: Union['HTMLSession', 'AsyncHTMLSession'] = None, url: str = DEFAULT_URL, html: _HTML, default_encoding: str = DEFAULT_ENCODING, async_: bool = False) -> None: |
| 414 | |
| 415 | # Convert incoming unicode HTML into bytes. |
| 416 | if isinstance(html, str): |
| 417 | html = html.encode(DEFAULT_ENCODING) |
| 418 | |
| 419 | super(HTML, self).__init__( |
| 420 | # Convert unicode HTML to bytes. |
| 421 | element=PyQuery(html)('html') or PyQuery(f'<html>{html}</html>')('html'), |
| 422 | html=html, |
| 423 | url=url, |
| 424 | default_encoding=default_encoding |
| 425 | ) |
| 426 | self.session = session or async_ and AsyncHTMLSession() or HTMLSession() |
| 427 | self.page = None |
| 428 | self.next_symbol = DEFAULT_NEXT_SYMBOL |
| 429 | |
| 430 | def __repr__(self) -> str: |
| 431 | return f"<HTML url={self.url!r}>" |