|
|
|
|
|
from .async_webcrawler import AsyncWebCrawler, CacheMode |
|
from .async_configs import BrowserConfig, CrawlerRunConfig |
|
from .extraction_strategy import ExtractionStrategy, LLMExtractionStrategy, CosineStrategy, JsonCssExtractionStrategy |
|
from .chunking_strategy import ChunkingStrategy, RegexChunking |
|
from .markdown_generation_strategy import DefaultMarkdownGenerator |
|
from .content_filter_strategy import PruningContentFilter, BM25ContentFilter |
|
from .models import CrawlResult |
|
from .__version__ import __version__ |
|
|
|
__all__ = [ |
|
"AsyncWebCrawler", |
|
"CrawlResult", |
|
"CacheMode", |
|
'BrowserConfig', |
|
'CrawlerRunConfig', |
|
'ExtractionStrategy', |
|
'LLMExtractionStrategy', |
|
'CosineStrategy', |
|
'JsonCssExtractionStrategy', |
|
'ChunkingStrategy', |
|
'RegexChunking', |
|
'DefaultMarkdownGenerator', |
|
'PruningContentFilter', |
|
'BM25ContentFilter', |
|
] |
|
|
|
def is_sync_version_installed(): |
|
try: |
|
import selenium |
|
return True |
|
except ImportError: |
|
return False |
|
|
|
if is_sync_version_installed(): |
|
try: |
|
from .web_crawler import WebCrawler |
|
__all__.append("WebCrawler") |
|
except ImportError: |
|
import warnings |
|
print("Warning: Failed to import WebCrawler even though selenium is installed. This might be due to other missing dependencies.") |
|
else: |
|
WebCrawler = None |
|
|
|
|