برای استخراج متن اصلی صفحهٔ وب، همهٔ متن HTML را یکجا به مدل ندهید. منو، فوتر، متن برنامه و مطالب حاشیهای میتوانند پاسخ را منحرف کنند. عنصر main نشانهٔ مفیدی برای بخش اصلی است، اما وجود آن بهتنهایی تضمین نمیکند هر جملهٔ داخلش همان محتوای مطلوب یا قابل مشاهده باشد.
مثال: یک شرط درست کنار یک موعد قدیمی پنهان
منبع آموزشی همراه، سرصفحه و منو، یک main، پیشنهاد مطلب دیگر و فوتر دارد. داخل main عنوان «شرایط تمرین امانت» و دو بند اصلیاند: ابزار تا سهشنبه بازگردد؛ استثنا، ابزار آموزشی رزروشده تا دوشنبه بازگردد. یک بند با صفت hidden هم موعد قدیمیِ جمعه را دارد و یک script متن برنامه نگه میدارد. اینها دادهٔ ساختگیاند، نه سیاست واقعی امانت.
| بخش منبع | رفتار این تمرین | علت |
|---|---|---|
| عنوان و دو بند اصلی | حفظ | موضوع و استثنای لازم |
| منو و فوتر | حذف از متن ورودی | تکراری و نامرتبط با سؤال |
| aside داخل main | حذف طبق قرارداد تمرین | پیشنهاد مطلب دیگر، نه خود قاعده |
| بند hidden با موعد جمعه | حذف | نسخهٔ پنهان و قدیمیِ مثال |
| script | حذف | متن برنامه، نه محتوای خواندنی |
انتخاب main با انتخاب زمینه یکی نیست
MDN، main را بخش غالب و مرتبط با موضوع مرکزی صفحه تعریف میکند. این نشانه به پیداکردن محدوده کمک میکند؛ بعد از آن هنوز باید ساختار و معنی را بررسی کنید. حذف جملهٔ استثنا بهخاطر کوتاهترشدن متن، نتیجهٔ صحیحِ استخراج نیست. دربارهٔ انتخاب محتوای لازم، راهنمای انتخاب زمینهٔ پرامپت مکمل است؛ اینجا مرحلهٔ فنی جداکردن منبع از اجزای صفحه را تمرین میکنیم.
در برخی سایتها مقاله داخل article است و main، مسیر ناوبری و بخشهای دیگری هم دارد. در صفحهای بدون ساختار مناسب، چسباندن همهٔ body بهعنوان «متن اصلی تأییدشده» راهحل نیست. خروجی باید برای بررسی دستی علامت بخورد و قاعدهٔ انتخاب متناسب با همان سایت تعیین شود.
خروجی مرجع همین نمونه
شرایط تمرین امانت
ابزار تا سهشنبه بازگردانده شود.
استثنا: ابزار آموزشیِ رزروشده تا دوشنبه بازگردد.
کد Python همراه همین سه قطعه را از HTML ثابت استخراج و با پاسخ مرجع تطبیق داده است. آزمون دوم، نبود main و آزمون سوم، وجود دو main غیرپنهان را با خطای روشن متوقف میکنند؛ در این وضعیت متن جایگزینِ حدسی تحویل نمیشود. اجرا محلی، بدون شبکه و بدون دریافت صفحهٔ واقعی بوده است.
مرز کد نمونه را بشناسیم
این کد یک تمرین کوچک روی HTML ایستای معلوم است؛ مرورگر، موتور CSS، ابزار جامع استخراج مقاله یا پاکساز امنیتی HTML نیست. صفت hidden را میبیند اما قواعدی مانند display:none در فایل CSS یا محتوایی که بعداً با JavaScript ساخته میشود را محاسبه نمیکند. HTML خراب، جدول، مرز کلمه میان عناصر inline و اجزای پیچیده به آزمون و روش مناسبتری نیاز دارند.
حتی در صفحهٔ درست، aside یا header میتواند اطلاعاتی مهم داشته باشد. حذف این عناصر در مثال حاضر از قراردادِ همین منبع میآید؛ آن را قانون عمومیِ حذف همهٔ عنوانها و یادداشتهای جانبی ندانید. در کار واقعی، متن خروجی را با نمایش صفحه و محل شاهد تطبیق دهید.
برای خطای استخراج چه چیزی ثبت کنیم؟
نشانی منبع، زمان دریافت، نسخه یا هش فایل، قاعدهٔ انتخاب و قطعههای حذفشدهٔ مؤثر را کنار نتیجه نگه دارید. متن قاعدهٔ اصلی و استثنایش را با سؤال نمونه بسنجید. وجود رشتهٔ «سهشنبه» کافی نیست؛ باید معلوم شود استثنای «دوشنبه» هم در جای درست حفظ شده است. محتوای منبع را نیز دستور اجرایی برای مدل حساب نکنید.
دسترسی عمومی به یک صفحه، مجوز دریافت نامحدود یا برداشتن اطلاعات خصوصی نیست. برای تمرین از همین منبع ساختگی استفاده کنید. اگر هدف بعدی ساخت پایگاه دانش است، پس از استخراج درست، مرز قطعههای سند را بررسی کنید. مسیر یادگیری عمومی در صفحهٔ هوش مصنوعی قرار دارد.
فایل تمرین و منبع
منبع HTML ساختگی تمرین؛ TXT · کد محلی استخراج و سه آزمون؛ Python
منابع در ۳ نوامبر ۲۰۲۶ خوانده شدند؛ این تاریخ، تاریخ انتشار منبع نیست. مثالها و فایلهای این راهنما آموزشی و ساختهٔ تحریریهاند.