Web-Automatisierer

Wir unterstützen auch die Verwendung des Web Automator, um den Inhalt einer Webseite abzurufen. Der Web Automator ist im Modul ufo/autoamtor/app_apis/web implementiert.

Konfiguration

Es gibt mehrere Konfigurationen, die vor der Verwendung des API Automator in der Datei config_dev.yaml eingerichtet werden müssen. Nachfolgend finden Sie die Liste der Konfigurationen im Zusammenhang mit dem API Automator.

Konfigurationsoption Beschreibung Typ Standardwert
USE_APIS Ob die Verwendung von Anwendungs-APIs erlaubt sein soll. Boolean True
APP_API_PROMPT_ADDRESS Die Prompt-Adresse für die Anwendungs-API. Dict {"WINWORD.EXE": "ufo/prompts/apps/word/api.yaml", "EXCEL.EXE": "ufo/prompts/apps/excel/api.yaml", "msedge.exe": "ufo/prompts/apps/web/api.yaml", "chrome.exe": "ufo/prompts/apps/web/api.yaml"}

Hinweis

Der Web Automator unterstützt derzeit nur msedge.exe und chrome.exe.

Empfänger

Der Web Automator Receiver ist die Klasse WebReceiver, die im Modul ufo/automator/app_apis/web/webclient.py definiert ist.

Basiert auf: ReceiverBasic

Die Basisklasse für den Web COM Client, der crawl4ai verwendet.

Initialisiert den Web COM Client.

Quellcode in automator/app_apis/web/webclient.py
21
22
23
24
25
26
27
def __init__(self) -> None:
    """
    Initialize the Web COM client.
    """
    self._headers = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3"
    }

web_crawler(url, ignore_link)

Führt den Crawler mit verschiedenen Optionen aus.

Parameter
  • url (str) –

    Die URL der Webseite.

  • ignore_link (bool) –

    Ob Links ignoriert werden sollen.

Rückgabe
  • str

    Der resultierende Markdown-Inhalt.

Quellcode in automator/app_apis/web/webclient.py
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
def web_crawler(self, url: str, ignore_link: bool) -> str:
    """
    Run the crawler with various options.
    :param url: The URL of the webpage.
    :param ignore_link: Whether to ignore the links.
    :return: The result markdown content.
    """

    try:
        # Get the HTML content of the webpage
        response = requests.get(url, headers=self._headers)
        response.raise_for_status()

        html_content = response.text

        # Convert the HTML content to markdown
        h = html2text.HTML2Text()
        h.ignore_links = ignore_link
        markdown_content = h.handle(html_content)

        return markdown_content

    except requests.RequestException as e:
        print(f"Error fetching the URL: {e}")

        return f"Error fetching the URL: {e}"


Befehl

Wir unterstützen derzeit nur einen Befehl im Web Automator, um den Inhalt einer Webseite in Markdown-Format zu erhalten. Zukünftig werden weitere Befehle für den Web Automator hinzugefügt.

@WebReceiver.register
class WebCrawlerCommand(WebCommand):
    """
    The command to run the crawler with various options.
    """

    def execute(self):
        """
        Execute the command to run the crawler.
        :return: The result content.
        """
        return self.receiver.web_crawler(
            url=self.params.get("url"),
            ignore_link=self.params.get("ignore_link", False),
        )

    @classmethod
    def name(cls) -> str:
        """
        The name of the command.
        """
        return "web_crawler"

Nachfolgend finden Sie die Liste der verfügbaren Befehle im Web Automator, die derzeit von UFO unterstützt werden.

Befehlsname Funktionsname Beschreibung
WebCrawlerCommand web_crawler Ruft den Inhalt einer Webseite in Markdown-Format ab.

Tipp

Bitte beachten Sie die Datei ufo/prompts/apps/web/api.yaml für die Prompt-Details des Befehls WebCrawlerCommand.