Files
wehub-resource-sync fbfefa28d3
CodeQL / Analyze (python) (push) Failing after 0s
Release / Build (push) Failing after 1s
Test Suite / Unit Tests (push) Failing after 0s
Release / Release (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 12:18:10 +08:00

76 lines
1.9 KiB
Markdown

# Markdownify Graph Example
This example demonstrates how to use the Markdownify graph to convert HTML content to Markdown format.
## Features
- Convert HTML content to clean, readable Markdown
- Support for both URL and direct HTML input
- Maintains formatting and structure of the original content
- Handles complex HTML elements and nested structures
## Usage
```python
from scrapegraphai import Client
from scrapegraphai.logger import sgai_logger
# Set up logging
sgai_logger.set_logging(level="INFO")
# Initialize the client
sgai_client = Client(api_key="your-api-key")
# Example 1: Convert a website to Markdown
response = sgai_client.markdownify(
website_url="https://example.com"
)
print(response.markdown)
# Example 2: Convert HTML content directly
html_content = """
<div>
<h1>Hello World</h1>
<p>This is a <strong>test</strong> paragraph.</p>
</div>
"""
response = sgai_client.markdownify(
html_content=html_content
)
print(response.markdown)
```
## Parameters
The `markdownify` method accepts the following parameters:
- `website_url` (str, optional): The URL of the website to convert to Markdown
- `html_content` (str, optional): Direct HTML content to convert to Markdown
Note: You must provide either `website_url` or `html_content`, but not both.
## Response
The response object contains:
- `markdown` (str): The converted Markdown content
- `metadata` (dict): Additional information about the conversion process
## Error Handling
The graph handles various edge cases:
- Invalid URLs
- Malformed HTML
- Network errors
- Timeout issues
If an error occurs, it will be logged and raised with appropriate error messages.
## Best Practices
1. Always provide a valid URL or well-formed HTML content
2. Use appropriate logging levels for debugging
3. Handle the response appropriately in your application
4. Consider rate limiting for large-scale conversions