en un clic
url
Fetch and extract text from web URLs
Installer avec Codex ou Claude Copiez ce prompt, collez-le dans Codex, Claude ou un autre assistant, puis laissez-le vérifier la page du skill et l'installer pour vous.
Menu
Fetch and extract text from web URLs
Installer avec Codex ou Claude Copiez ce prompt, collez-le dans Codex, Claude ou un autre assistant, puis laissez-le vérifier la page du skill et l'installer pour vous.
Basé sur la classification professionnelle SOC
| name | url |
| version | 1.0 |
| description | Fetch and extract text from web URLs |
| entry | {"script":"scripts/main.py","class":"UrlSkill"} |
| triggers | {"extensions":["https://","http://"],"intents":["fetch url","web page","website"]} |
| requires | ["httpx","beautifulsoup4"] |
| author | axoviq.com |
| license | AGPL-3.0-or-later |
Fetches a web URL using httpx, strips navigation/script/style tags with
BeautifulSoup, and returns clean body text. PDF URLs are extracted with
pypdf (primary) and pdfminer.six (fallback).
pip install httpx beautifulsoup4
# Optional — needed only if you ingest PDF URLs:
pip install pypdf pdfminer.six
import asyncio
from synthadoc.skills.url.scripts.main import UrlSkill
skill = UrlSkill()
async def main():
result = await skill.extract("https://example.com/article")
print(result.text) # clean body text
print(result.metadata) # {"url": "https://..."}
asyncio.run(main())
DomainBlockedException is raised when the site returns HTTP 401, 403, or
429. Catch it to log and skip the domain:
from synthadoc.skills.base import DomainBlockedException
try:
result = await skill.extract(url)
except DomainBlockedException as e:
print(f"Blocked: {e.domain} (HTTP {e.status_code})")
https:// or http://fetch url, web page, websiteExtract text from PDF documents
Extract text from Microsoft Word documents
Extract text from images using a vision LLM
Ingest Markdown and plain text files
Extract text from Microsoft PowerPoint presentations
Search the web and ingest results as wiki pages