Skip to content
Back to skills

Python Extraction

ASecurity

"Use Trafilatura's Python APIs to extract text, metadata, comments,

  • 247 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added September 9, 2026
documentationpythonshellapi

Works with

  • cli
  • api

Security analysis

A100/100

Pro scans all 5 files and shows the line behind each finding

Scanned September 9, 2026

npx -y skills add VectorSpaceLab/AREX-Skill --skill python-extraction --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Python Extraction?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Python Extraction
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/vectorspacelab-python-extraction/badge)](https://www.skillsdirectory.com/skills/vectorspacelab-python-extraction)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: python-extraction
description: "Use Trafilatura's Python APIs to extract text, metadata, comments,
  tables, and structured TXT/Markdown/JSON/HTML/XML/XML-TEI from in-memory HTML
  inputs."
disable-model-invocation: true
metadata:
  disco-role: operating
license: Apache 2.0
---

# Python Extraction

Use this sub-skill when a task needs Trafilatura's Python API to turn an already available HTML payload, response body, or parsed LXML tree into extracted article text, metadata, comments, tables, or structured output.

## Route here

- In-memory extraction from `str`, `bytes`, response-like objects with `.data`, or `lxml.html.HtmlElement` inputs.
- Choosing between `extract()`, `bare_extraction()`, `extract_with_metadata()`, `extract_metadata()`, `html2txt()`, `baseline()`, and `load_html()`.
- Selecting `output_format` among `txt`, `markdown`, `json`, `html`, `csv`, `xml`, and `xmltei`.
- Using metadata/comment/table/link/image/formatting flags, precision/recall/fast modes, `Extractor` settings objects, `prune_xpath`, date parameters, language filtering, and config-driven size limits.
- Diagnosing `None` output, too-short results, malformed HTML, metadata/date surprises, and Markdown/XML conversion quirks.

## Route elsewhere

- CLI flags, shell pipelines, filesystem output, batch command construction, or stdin/stdout behavior: `cli-batch-processing`.
- Live downloading, feed/sitemap discovery, URL queues, crawl loops, or response fetching: `discovery-downloads`.
- Corpus-level deduplication strategy, TEI validation depth, benchmark evaluation, or quality scoring: `corpus-quality`.

## Start points

1. Read [references/api-reference.md](references/api-reference.md) for function signatures, return shapes, option semantics, and output-format tradeoffs.
2. Use [references/workflows.md](references/workflows.md) for copy-paste Python recipes and failure-aware extraction decisions.
3. Use [references/troubleshooting.md](references/troubleshooting.md) when extraction returns `None`, metadata is missing, language filtering behaves unexpectedly, or output formatting looks wrong.
4. Run [scripts/extraction_smoke.py](scripts/extraction_smoke.py) in an environment with `trafilatura` installed to verify the basic no-network API surface.

## Minimal pattern

```python
from trafilatura import extract

html = """<html><body><article><h1>Title</h1><p>Main article text.</p></article></body></html>"""
text = extract(html, include_comments=False)
if text is None:
    # Retry with recall or a fallback API; see references/workflows.md.
    ...
```

## Safety and scope notes

- This sub-skill assumes HTML is already available. Do not initiate live network access from these recipes unless another sub-skill has explicitly selected and prepared that workflow.
- Public runtime guidance here is self-contained for Trafilatura 2.2.0 and does not require reopening the source repository.
- Some optional behavior, especially robust `target_language` body-language detection and speedups, depends on optional extras such as `trafilatura[all]`; handle absence as a runtime capability limit, not as an extraction bug.

Files in this skill

  • SKILL.md3.1 KB
  • references/api-reference.md13.6 KB
  • references/troubleshooting.md8.7 KB
  • references/workflows.md9.6 KB
  • scripts/extraction_smoke.py5.9 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.