跳到主要内容

browser_utils.requests_markdown_browser

RequestsMarkdownBrowser

class RequestsMarkdownBrowser(AbstractMarkdownBrowser)

(预览版)一个极其简单的基于Python requests的Markdown网页浏览器。 该浏览器无法运行JavaScript,计算CSS等。它只是获取HTML文档,并将其转换为Markdown。 有关更多详细信息,请参见AbstractMarkdownBrowser。

__init__

def __init__(start_page: Optional[str] = None,
viewport_size: Optional[int] = 1024 * 8,
downloads_folder: Optional[Union[str, None]] = None,
search_engine: Optional[Union[AbstractMarkdownSearch,
None]] = None,
markdown_converter: Optional[Union[MarkdownConverter,
None]] = None,
requests_session: Optional[Union[requests.Session, None]] = None,
requests_get_kwargs: Optional[Union[Dict[str, Any],
None]] = None)

实例化一个新的RequestsMarkdownBrowser。

参数:

  • start_page - 浏览器启动时显示的页面(默认:"about:blank")
  • viewport_size - 视口中大约可以容纳的字符数量。视口尺寸会动态调整,以避免切断单词(默认值:8192)。
  • downloads_folder - 下载文件的保存路径。如果为 None,则禁用下载。(默认值:None)
  • search_engine - 一个MarkdownSearch的实例,用于处理此浏览器执行的网页搜索(默认:带有默认参数的BingMarkdownSearch()的新实例)
  • markdown_converted - 一个MarkdownConverter的实例,用于将HTML页面和下载内容转换为Markdown(默认:一个新的MarkdownConerter(),使用默认参数)
  • request_session - 用于发出请求的会话(默认:使用默认参数的新 requests.Session() 实例)
  • request_get_kwargs - 传递给每个.get()调用的额外参数。

地址

@property
def address() -> str

返回当前页面的地址。

设置地址

def set_address(uri_or_path: str) -> None

设置当前页面的地址。 这将导致通过底层的requests会话获取页面。

参数:

  • uri_or_path - 要获取的完全限定URI,或从当前位置获取的路径。如果URI协议是search:,URI的其余部分将被解释为搜索查询,并执行网络搜索。如果URI协议是file://,URI的其余部分将被解释为本地绝对文件路径。

视口

@property
def viewport() -> str

返回当前视口的内容。

页面内容

@property
def page_content() -> str

返回当前页面的全部内容。

向下翻页

def page_down() -> None

如果可能,将视口向下移动一页。

page_up

def page_up() -> None

如果可能,将视口向上移动一页。

页面查找

def find_on_page(query: str) -> Union[str, None]

从当前视口向前搜索查询,必要时循环回到起始位置。

find_next

def find_next() -> None

滚动到与查询匹配的下一个视口

访问页面

def visit_page(path_or_uri: str) -> str

更新地址,访问页面,并返回视口的内容。

打开本地文件

def open_local_file(local_path: str) -> str

将本地文件路径转换为 file:/// URI,更新地址,访问页面,并返回视口的内容。