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,更新地址,访问页面,并返回视口的内容。