Web
初始化文件。
AsyncWebPageReader #
Bases: BaseReader
异步网页阅读器。
异步读取网页。
Parameters:
Name | Type | Description | Default |
---|---|---|---|
html_to_text |
bool
|
是否将HTML转换为文本。
需要 |
False
|
limit |
int
|
最大并发请求数。 |
10
|
dedupe |
bool
|
如果给定列表中存在精确匹配的URL,则进行URL去重 |
True
|
fail_on_error |
bool
|
如果请求的URL未返回状态码200,则程序将引发ValueError异常 |
False
|
Source code in llama_index/readers/web/async_web/base.py
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 |
|
load_data #
load_data(urls: List[str]) -> List[Document]
从输入的URL加载数据。
Returns:
Type | Description |
---|---|
List[Document]
|
List[Document]:文档列表。 |
Source code in llama_index/readers/web/async_web/base.py
48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 |
|
BeautifulSoupWebReader #
Bases: BasePydanticReader
美丽汤网页阅读器。
从网页读取页面。
需要bs4
和urllib
包。
Parameters:
Name | Type | Description | Default |
---|---|---|---|
website_extractor |
Optional[Dict[str, Callable]]
|
网站主机名(例如google.com)到指定从BeautifulSoup对象中提取文本的函数的映射。参见DEFAULT_WEBSITE_EXTRACTOR。 |
None
|
Source code in llama_index/readers/web/beautiful_soup_web/base.py
135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 |
|
class_name
classmethod
#
class_name() -> str
获取类的名称标识符。
Source code in llama_index/readers/web/beautiful_soup_web/base.py
151 152 153 154 |
|
load_data #
load_data(
urls: List[str],
custom_hostname: Optional[str] = None,
include_url_in_text: Optional[bool] = True,
) -> List[Document]
从URL加载数据。
Returns:
Type | Description |
---|---|
List[Document]
|
List[Document]:文档列表。 |
Source code in llama_index/readers/web/beautiful_soup_web/base.py
156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 |
|
BrowserbaseWebReader #
Bases: BaseReader
浏览器基础Web阅读器。
使用托管在Browserbase上的无头浏览器加载预渲染的网页。
依赖于browserbase
包。
从https://browserbase.com 获取您的API密钥。
Source code in llama_index/readers/web/browserbase_web/base.py
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
|
lazy_load_data #
lazy_load_data(
urls: Sequence[str],
text_content: bool = False,
session_id: Optional[str] = None,
proxy: Optional[bool] = None,
) -> Iterator[Document]
从URL加载页面。
Source code in llama_index/readers/web/browserbase_web/base.py
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
|
KnowledgeBaseWebReader #
Bases: BaseReader
知识库阅读器。
使用Playwright爬取和阅读知识库/帮助中心的文章。
在Zendesk和Intercom CMS上进行了测试,可能也适用于其他平台。
可以在无头模式下运行,但可能会被Cloudflare阻止。为了安全起见,建议以有头模式运行。
偶尔会超时,如果出现超时情况,只需增加默认超时时间即可。
需要安装playwright
包。
Parameters:
Name | Type | Description | Default |
---|---|---|---|
root_url |
str
|
知识库的基本url,末尾不带斜杠 例如 'https://support.intercom.com' |
required |
link_selectors |
List[str]
|
用于在爬取过程中查找文章链接的css选择器列表 例如 ['.article-list a', '.article-list a'] |
required |
article_path |
str
|
该域上文章的url路径,以便爬虫知道何时停止 例如 '/articles' |
required |
title_selector |
Optional[str]
|
用于查找文章标题的css选择器 例如 '.article-title' |
None
|
subtitle_selector |
Optional[str]
|
用于查找文章副标题/描述的css选择器 例如 '.article-subtitle' |
None
|
body_selector |
Optional[str]
|
用于查找文章正文的css选择器 例如 '.article-body' |
None
|
Source code in llama_index/readers/web/knowledge_base/base.py
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 |
|
load_data #
load_data() -> List[Document]
从知识库加载数据。
Source code in llama_index/readers/web/knowledge_base/base.py
47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 |
|
scrape_article #
scrape_article(browser: Any, url: str) -> Dict[str, str]
爬取单个文章的URL。
Returns:
Type | Description |
---|---|
Dict[str, str]
|
Dict[str, str]:文章属性与其值的映射。 |
Source code in llama_index/readers/web/knowledge_base/base.py
79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 |
|
get_article_urls #
get_article_urls(
browser: Any, root_url: str, current_url: str
) -> List[str]
递归地遍历知识库,以找到文章列表。
Parameters:
Name | Type | Description | Default |
---|---|---|---|
browser |
Any
|
Playwright Chromium 浏览器。 |
required |
root_url |
str
|
知识库的根URL。 |
required |
current_url |
str
|
正在遍历的当前URL。 |
required |
Returns:
Type | Description |
---|---|
List[str]
|
List[str]: 找到的文章的URL列表。 |
Source code in llama_index/readers/web/knowledge_base/base.py
125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 |
|
MainContentExtractorReader #
Bases: BaseReader
主要内容提取器网页阅读器。
从网页中读取页面。
Parameters:
Name | Type | Description | Default |
---|---|---|---|
text_format |
(str, 可选)
|
文本的格式。默认为 "markdown"。
需要 |
'markdown'
|
Source code in llama_index/readers/web/main_content_extractor/base.py
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
|
load_data #
load_data(urls: List[str]) -> List[Document]
从输入目录加载数据。
Returns:
Type | Description |
---|---|
List[Document]
|
List[Document]:文档列表。 |
Source code in llama_index/readers/web/main_content_extractor/base.py
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
|
NewsArticleReader #
Bases: BaseReader
简单的新闻文章阅读器。
从网络上读取新闻文章,并使用newspaper
库进行解析。
Parameters:
Name | Type | Description | Default |
---|---|---|---|
text_mode |
bool
|
是否加载内容的文本版本或HTML版本(默认为True)。 |
True
|
use_nlp |
bool
|
是否使用自然语言处理来提取额外的摘要和关键词(默认为True)。 |
True
|
newspaper_kwargs |
Any
|
传递给newspaper.Article的额外关键字参数。参见 https://newspaper.readthedocs.io/en/latest/user_guide/quickstart.html#article |
{}
|
Source code in llama_index/readers/web/news/base.py
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 |
|
load_data #
load_data(urls: List[str]) -> List[Document]
从新闻文章网址列表中加载数据。
Returns:
Type | Description |
---|---|
List[Document]
|
List[Document]:文档列表。 |
Source code in llama_index/readers/web/news/base.py
35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 |
|
ReadabilityWebPageReader #
Bases: BaseReader
网页可读性加载器。
从完全呈现的网页中提取相关信息。 在处理过程中,始终假定用作数据源的网页包含文本内容。
- 加载页面并等待其呈现。(playwright)
- 注入Readability.js以提取主要内容。
Source code in llama_index/readers/web/readability_web/base.py
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 |
|
async_load_data
async
#
async_load_data(url: str) -> List[Document]
渲染并从URL加载数据内容。
Returns:
Type | Description |
---|---|
List[Document]
|
List[Document]:文档列表。 |
Source code in llama_index/readers/web/readability_web/base.py
59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 |
|
scrape_page
async
#
scrape_page(browser: Browser, url: str) -> Dict[str, str]
爬取单个文章的URL。
Returns:
Type | Description |
---|---|
Dict[str, str]
|
Ref:https://github.com/mozilla/readability |
Dict[str, str]
|
title:文章标题; |
Dict[str, str]
|
content:经过处理的文章内容的HTML字符串; |
Dict[str, str]
|
textContent:去除所有HTML标记的文章文本内容; |
Dict[str, str]
|
length:文章长度,以字符计算; |
Dict[str, str]
|
excerpt:文章描述,或者从内容中摘录的简短摘要; |
Dict[str, str]
|
byline:作者元数据; |
Dict[str, str]
|
dir:内容方向; |
Dict[str, str]
|
siteName:站点名称。 |
Dict[str, str]
|
lang:内容语言。 |
Source code in llama_index/readers/web/readability_web/base.py
105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 |
|
RssNewsReader #
Bases: BaseReader
RSS新闻阅读器。
从RSS订阅源中读取新闻内容,并使用NewsArticleReader进行解析。
Source code in llama_index/readers/web/rss_news/base.py
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 |
|
load_data #
load_data(
urls: List[str] = None, opml: str = None
) -> List[Document]
从RSS订阅源或OPML加载数据。
Parameters:
Name | Type | Description | Default |
---|---|---|---|
urls |
List[str]
|
要加载的RSS URL列表。 |
None
|
opml |
str
|
OPML文件的URL或字符串或字节OPML内容。 |
None
|
Returns:
Type | Description |
---|---|
List[Document]
|
List[Document]: 文档列表。 |
Source code in llama_index/readers/web/rss_news/base.py
40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 |
|
RssReader #
Bases: BasePydanticReader
RSS阅读器。
从RSS源中读取内容。
Source code in llama_index/readers/web/rss/base.py
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
|
load_data #
load_data(urls: List[str]) -> List[Document]
从RSS源加载数据。
Returns:
Type | Description |
---|---|
List[Document]
|
List[Document]:文档列表。 |
Source code in llama_index/readers/web/rss/base.py
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
|
ScrapflyReader #
Bases: BasePydanticReader
将url转换为llm可访问的markdown格式,使用Scrapfly.io
。
Args: api_key: Scrapfly API密钥。 scrape_config: Scrapfly ScrapeConfig对象。 ignore_scrape_failures: 是否在失败时继续。 urls: 要抓取的url列表。 scrape_format: 抓取结果格式(markdown或text) 更多详情,请访问: https://scrapfly.io/docs/sdk/python
Source code in llama_index/readers/web/scrapfly_web/base.py
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 |
|
load_data #
load_data(
urls: List[str],
scrape_format: Literal["markdown", "text"] = "markdown",
scrape_config: Optional[dict] = None,
) -> List[Document]
从URL加载数据。
Parameters:
Name | Type | Description | Default |
---|---|---|---|
urls |
List[str]
|
List[str]: 要抓取的URL列表。 |
required |
scrape_config |
Optional[dict]
|
Optional[dict]: ScrapFly抓取配置对象的字典。 |
None
|
Returns:
Type | Description |
---|---|
List[Document]
|
List[Document]: 文档列表。 |
引发: ValueError: 如果未提供URL。
Source code in llama_index/readers/web/scrapfly_web/base.py
41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 |
|
SimpleWebPageReader #
Bases: BasePydanticReader
简单的网页阅读器。
从网页中读取页面。
Parameters:
Name | Type | Description | Default |
---|---|---|---|
html_to_text |
bool
|
是否将HTML转换为文本。
需要 |
False
|
metadata_fn |
Optional[Callable[[str], Dict]]
|
一个接受URL并返回元数据字典的函数。 默认值为None。 |
None
|
Source code in llama_index/readers/web/simple_web/base.py
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
|
load_data #
load_data(urls: List[str]) -> List[Document]
从输入目录加载数据。
Returns:
Type | Description |
---|---|
List[Document]
|
List[Document]:文档列表。 |
Source code in llama_index/readers/web/simple_web/base.py
46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
|
SitemapReader #
Bases: BaseReader
异步站点地图读取器,用于网络。
根据其 sitemap.xml 从网络中读取页面。
Parameters:
Name | Type | Description | Default |
---|---|---|---|
sitemap_url |
string
|
sitemap.xml 的路径。例如 https://gpt-index.readthedocs.io/sitemap.xml |
required |
html_to_text (bool): 是否将 HTML 转换为文本。
需要 html2text
包。
limit (int): 最大并发请求数。
Source code in llama_index/readers/web/sitemap/base.py
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
|
TrafilaturaWebReader #
Bases: BasePydanticReader
Trafilatura 网页读取器。
从网页中读取页面。
需要 trafilatura
包。
Source code in llama_index/readers/web/trafilatura_web/base.py
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
|
class_name
classmethod
#
class_name() -> str
获取类的名称标识符。
Source code in llama_index/readers/web/trafilatura_web/base.py
15 16 17 18 |
|
load_data #
load_data(
urls: List[str],
include_comments=True,
output_format="txt",
include_tables=True,
include_images=False,
include_formatting=False,
include_links=False,
show_progress=False,
**kwargs
) -> List[Document]
从URL加载数据。
Returns:
Type | Description |
---|---|
List[Document]
|
List[Document]:文档列表。 |
Source code in llama_index/readers/web/trafilatura_web/base.py
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
|
UnstructuredURLLoader #
Bases: BaseReader
使用unstructured来加载HTML文件的加载器。
Source code in llama_index/readers/web/unstructured_web/base.py
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
|
load_data #
load_data() -> List[Document]
加载文件。
Source code in llama_index/readers/web/unstructured_web/base.py
44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
|
WholeSiteReader #
Bases: BaseReader
BFS网页爬虫用于网站。
该类提供了使用广度优先搜索算法来爬取整个网站的功能。 它从给定的基本URL导航网页,跟踪与指定前缀匹配的链接。
属性: prefix (str): 用于聚焦爬取的URL前缀。 max_depth (int): BFS算法的最大深度。
Parameters:
Name | Type | Description | Default |
---|---|---|---|
prefix |
str
|
用于爬取的URL前缀。 |
required |
max_depth |
(int, 可选)
|
BFS的最大深度。默认为10。 |
10
|
Source code in llama_index/readers/web/whole_site/base.py
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 |
|
setup_driver #
setup_driver()
设置Selenium WebDriver用于Chrome。
返回: WebDriver:Chrome WebDriver的一个实例。
Source code in llama_index/readers/web/whole_site/base.py
40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
|
load_data #
load_data(base_url: str) -> List[Document]
使用BFS算法从基本URL加载数据。
Returns:
Type | Description |
---|---|
List[Document]
|
List[Document]:爬取的文档列表。 |
Source code in llama_index/readers/web/whole_site/base.py
84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 |
|