استخراج متن تمیز از صفحات وب یک نیاز مکرر برای خطوط داده، ابزارهای گزارشگیری و تحلیل محتوا است. Aspose.HTML for Python via .NET یک SDK قدرتمند ارائه میدهد که تجزیه HTML و استخراج متن را بدون نیاز به کار دستی regex انجام میدهد. در این راهنما نحوه تبدیل HTML به TXT در پایتون را نشان میدهیم، شامل نصب، یک مثال کامل کد، و نکات عملکردی. همچنین خواهید آموخت که چگونه TXT تولید شده را اعتبارسنجی کنید و با مشکلات رایج رمزگذاری مقابله کنید.
مثال کامل کد: تبدیل HTML به TXT در پایتون
مثال زیر یک تبدیل کامل انتها به انتها را با استفاده از Aspose.HTML for Python via .NET نشان میدهد.
import os
import sys
import aspose.html as ah
import aspose.html.saving as ahs
def convert_html_to_txt(input_path: str, output_path: str, encoding: str = "utf-8") -> None:
"""
Converts an HTML file to a plain text (TXT) file using Aspose.HTML for Python via .NET.
"""
if not os.path.isfile(input_path):
raise FileNotFoundError(f"Input file does not exist: {input_path}")
try:
# Load the HTML document
document = ah.HtmlDocument(input_path)
# Configure TXT save options
txt_options = ahs.TxtSaveOptions()
txt_options.encoding = encoding # Ensure proper character encoding
txt_options.remove_extra_whitespace = True # Reduce unnecessary spaces (if supported)
# Perform the conversion
document.save(output_path, txt_options)
except Exception as exc:
# Capture any Aspose or I/O related errors
print(f"[Error] Conversion failed: {exc}", file=sys.stderr)
raise
finally:
# Explicitly release resources held by the document
if 'document' in locals():
document.dispose()
def validate_txt_output(output_path: str, min_chars: int = 10) -> None:
"""
Simple validation to ensure the TXT file was created and contains readable content.
"""
if not os.path.isfile(output_path):
raise FileNotFoundError(f"Output file was not created: {output_path}")
with open(output_path, "r", encoding="utf-8") as txt_file:
content = txt_file.read()
if len(content) < min_chars:
raise ValueError("Output text appears to be empty or truncated.")
# Show a short preview for quick verification
preview = content[:200].replace("\r", "").replace("\n", " | ")
print(f"[Info] Conversion succeeded. Preview (first 200 chars):\n{preview}")
if __name__ == "__main__":
# Example file paths – replace with actual locations as needed
INPUT_HTML = "sample.html"
OUTPUT_TXT = "sample.txt"
try:
convert_html_to_txt(INPUT_HTML, OUTPUT_TXT)
validate_txt_output(OUTPUT_TXT)
except Exception as e:
print(f"[Fatal] HTML to TXT conversion failed: {e}", file=sys.stderr)
sys.exit(1)
توجه: این مثال کد عملکرد اصلی را نشان میدهد. قبل از استفاده از آن در پروژه خود، اطمینان حاصل کنید که مسیرهای فایل (
sample.html،sample.txt) را به مکانهای واقعی خود بهروزرسانی کنید، بررسی کنید که تمام وابستگیهای مورد نیاز بهدرستی نصب شدهاند و بهطور کامل در محیط توسعه خود تست کنید. اگر با مشکلی مواجه شدید، لطفاً به مستندات رسمی مراجعه کنید یا برای دریافت کمک با تیم پشتیبانی تماس بگیرید.
درک تبدیل HTML به TXT در کد پایتون
در زیر تجزیه و تحلیل گام به گام بخشهای کلیدی اسکریپت آمده است:
- وارد کردن فضاهای نام مورد نیاز - اسکریپت
aspose.htmlوaspose.html.savingرا وارد میکند که شامل کلاسهای اصلی برای بارگذاری HTML و پیکربندی خروجی TXT هستند.
import aspose.html as ah
import aspose.html.saving as ahs
- بارگذاری سند HTML -
ah.HtmlDocument(input_path)فایل HTML منبع را به یک DOM تجزیه میکند که SDK میتواند با آن کار کند.
document = ah.HtmlDocument(input_path)
- پیکربندی گزینههای ذخیرهسازی TXT -
ahs.TxtSaveOptions()به شما امکان میدهد رمزگذاری خروجی را تنظیم کنید و بهصورت اختیاری فضاهای خالی اضافی را حذف کنید تا نتیجهای تمیزتر به دست آید.
txt_options = ahs.TxtSaveOptions()
txt_options.encoding = encoding
txt_options.remove_extra_whitespace = True
- انجام تبدیل -
document.save(output_path, txt_options)فایل متنی ساده را با استفاده از گزینههای پیکربندیشده مینویسد.
document.save(output_path, txt_options)
- اعتبارسنجی خروجی - کمککننده
validate_txt_outputبررسی میکند که فایل TXT وجود دارد و حداقل تعداد کاراکترها را شامل میشود، سپس پیشنمایش کوتاهی چاپ میکند. این برای تبدیل دستهای HTML به TXT در پایتون مفید است، جایی که باید اطمینان حاصل کنید هر فایل بهدرستی پردازش شده است.
برای اطلاعات دقیق API، به مرجع API برای HtmlDocument و TxtSaveOptions مراجعه کنید.
آمادهسازی محیط
- نصب SDK - از pip برای افزودن Aspose.HTML for Python via .NET به پروژه خود استفاده کنید.
pip install aspose-html-net
- تأیید نصب - پس از نصب، میتوانید بسته را در یک REPL پایتون وارد کنید تا تأیید کنید که بدون خطا بارگذاری میشود.
import aspose.html
print(aspose.html.__version__)
آخرین نسخه را دانلود کنید (اختیاری) - اگر ترجیح میدهید به صورت دستی دانلود کنید، باینریها را از صفحه رسمی انتشار دریافت کنید: Download Aspose.HTML for Python via .NET.
پیشنیازها - اطمینان حاصل کنید که یک زمان اجرا .NET سازگار (مثلاً .NET 6.0 یا بالاتر) بر روی دستگاه شما نصب شده باشد، زیرا SDK بر روی زمان اجرا .NET اجرا میشود.
با تنظیم محیط، آمادهاید تا اسکریپت تبدیل را اجرا کنید.
نتیجهگیری
تبدیل HTML به TXT در پایتون ساده است وقتی از توانایی Aspose.HTML for Python via .NET استفاده میکنید. SDK پیچیدگیهای تجزیه HTML، رمزگذاری کاراکترها و مدیریت فضای سفید را انتزاع میکند و راهحلی سریع و قابل اعتماد برای استخراج متن ارائه میدهد. به یاد داشته باشید فایلهای TXT تولید شده را اعتبارسنجی کنید و TxtSaveOptions را برای نیازهای خاص عملکرد یا قالببندی خود تنظیم کنید. برای استفاده در محیط تولید، یک لایسنس مناسب دریافت کنید؛ جزئیات قیمتگذاری در صفحه محصول موجود است و میتوانید یک لایسنس موقت را از صفحه مجوز موقت دریافت کنید. این ابزار را در خطوط لوله داده، ابزارهای گزارشگیری یا جریانهای کاری تجزیه و تحلیل محتوا یکپارچه کنید تا وظایف پردازش متن را سادهسازی کنید.
سوالات متداول
چگونه میتوانم HTML را به TXT در پایتون با Aspose.HTML تبدیل کنم؟
از تابع convert_html_to_txt موجود در SDK استفاده کنید. این تابع HTML را با HtmlDocument بارگذاری میکند، TxtSaveOptions را اعمال مینماید و نتیجه را به عنوان یک فایل متنی ساده ذخیره میکند.
آیا راهی برای خودکارسازی تبدیل HTML به TXT در پایتون برای تعداد زیادی فایل وجود دارد؟
بله، فراخوانی تبدیل را داخل یک حلقه قرار دهید یا از concurrent.futures پایتون استفاده کنید تا فایلها به صورت موازی پردازش شوند و تبدیل سریع HTML به TXT در پایتون برای دستههای بزرگ حاصل شود.
کدام گزینهها عملکرد تبدیل HTML به TXT را بهبود میبخشند؟
Enable remove_extra_whitespace در TxtSaveOptions و یک رمزگذاری مناسب را انتخاب کنید. پیادهسازی بومی SDK سرعت بالایی را تضمین میکند و آن را برای سناریوهای حساس به عملکرد مناسب میسازد.
آیا SDK از رمزگذاری سفارشی برای خروجی TXT پشتیبانی میکند؟
بهطور قطع. میتوانید txt_options.encoding را به هر کدک معتبر پایتون تنظیم کنید (مثلاً "utf-8" یا "utf-16")، تا اطمینان حاصل شود که TXT تولید شده با نیازهای بعدی شما مطابقت دارد.
