حزمة Python صغيرة قمت بها لاستخراج محتوى HTML من صفحات الويب. إنه قابل للتخصيص للغاية ، وقد صنعته لتناسب احتياجاتي (استخراج رمز الصفحات المتعددة للترحيل ، ولكن فقط بعض علامات HTML التي احتاجها). نظرًا لغرضه القدرة على تحويل علامات HTML محددة إلى تنسيق مميز مطلوب ، فإن هذا البرنامج النصي لا يولد أي إخراج قياسي ، بل يستخدم الرموز المخصصة المحددة في ملف التكوين ، بحيث يمكن تنسيق الإخراج في أي شيء.
لاستخدام هذه الحزمة ، ستحتاج إلى تثبيتها باستخدام pip :
pip install markout-htmlثم فقط استيراده إلى الكود الخاص بك:
from markout_html import * بعد ذلك يمكنك استخدام وظائف extract_url و extract_html :
result = extract_url (
# HTML page link
'http://example.page.com/blog/some_post.html' ,
# Tokens to format each HTML tags contents (you can extract only the ones you want)
{
'p' : " n ** {} **"
},
# Only extract contents inside this tag
'article'
)
result = extract_html (
# HTML code string
'<html>some html code</html>' ,
# Tokens to format each HTML tags contents (you can extract only the ones you want)
{
'p' : " n ** {} **"
},
# Only extract contents inside this tag
'article'
)فيما يلي بعض الأمثلة مع وصف أفضل حول كيفية استخدام أمر الحزمة هذا إذا كنت لا ترغب في إنشاء برنامج نصي Python!
إذا كنت ترغب فقط في الاستخراج باستخدام سلسلة في المحطة ، فيمكنك استخدام markout_html --extract [string] .
يمكنك استخدام command markout_html مع العلامة --help لمزيد من المعلومات.
يمكن العثور على جميع التكوينات في ملف واحد: .markoutrc.json (يمكنك تحديد اسم آخر في المحطة مع العلامة --config ) ، إذا لم تقم بتحميل ملف تكوين ، فسيستخدم البرنامج النصي قيمه الافتراضية. هناك مثال على التكوين في جذر المستودع!
لتحديد استخدام ملف التكوين مختلف:
markout_html --config [filename] links - كائن الروابط المراد استخلاصها ، لكل رابط قيمة وجهة (ملف الإخراج). مثال:
{
"links" : {
"http://example.page.com/blog/some_post.html" : " out/post.md " ,
"http://example.page.com/blog/some_other_post.html" : " out/other_post.md "
}
} سوف يحصل المثال أعلاه على HTML من http://example.page.com/blog/some_post.html واستخراج النتائج إلى out/post.md .
only_on - سلسلة تحدد أين (أي علامة HTML) لاستخراج المحتويات من (على سبيل المثال: HTML ، الجسم ، الرئيسي). مثال:
{
"only_on" : " article "
} tokens - الكائن الذي سيتم فيه استخراج كل علامة HTML المحددة في سلسلة منسقة ثم وضعت على ملف الإخراج. مثال:
{
"tokens" : {
"header" : " # {} " ,
"h1" : " n # {} " ,
"h2" : " n # {} " ,
"b" : " n ## {} " ,
"li" : " + {} " ,
"i" : " ** {} ** " ,
"p" : " n {} " ,
"span" : " {} "
}
} على المثال أعلاه ، سيتم استخراج محتويات علامة HTML <header> في السلسلة # {} ، لذلك على سبيل المثال ، إذا كان لدينا <header>Some text here!</header> فستكون النتيجة # Some text here! (هذا التنسيقات النص في تخفيض).
لا تتردد في ترك مساهمتك هنا ، وسأقدر ذلك حقًا! أيضًا ، إذا كان لديك أي شكوك أو مشاكل باستخدام هذه الحزمة ، فما عليك سوى الاتصال بي أو اترك مشكلة.