تقنية

HTMLParser في بايثون: هل False يبقي مرجع السمة؟

قيمة السمة مفكوكة مع الخيارين
قيمة title. [1] [2]

افصل قيمة السمة من محتوى العنصر. [1] [2]

الخلاصة السريعة

convert_charrefs=False لا يحفظ مراجع السمة هنا. [1] [2]

  • قيمة title تصبح x&y مع الخيارين. [1] [2]
  • attrs أزواج أسماء وقيم؛ القيمة مفكوكة. [1] [2]
  • في محتوى i، يحول True المرجع إلى & ضمن البيانات. [1] [2]
  • مع False، يستدعي مرجع المحتوى handle_entityref بالاسم amp. [1] [2]
  • اختبرنا 3.12.14 على نص مؤلف؛ ليس فحص صحة HTML. [1] [2]

المثال

import html.parser as h
class P(h.HTMLParser):
 def handle_starttag(self,t,a):
  print(dict(a)['title'])
s='<i title="x&amp;y"></i>'
for c in [False,True]:
 p=P(convert_charrefs=c)
 p.feed(s)
 p.close()

[1] [2]

يطبع x&y مرتين؛ False لا يُبقي &amp; في القيمة. [1] [2]

محتوى العنصر

في محتوى <i>x&amp;y</i>: True يعطي handle_data النص x&y. [1] [2]

بيانات المحتوى وحدث المرجع
للإدخال <i>x&amp;y</i>؛ الشرطة المائلة تفصل رسالتي البيانات. [1] [2]

مع False تتتابع بيانات x، ومرجع اسمه amp، وبيانات y؛ ليست رسالة بيانات واحدة تحوي &amp;. [1] [2]

النطاق

هذه أحداث محلل؛ لم نختبر متصفحًا أو حماية صفحة. [1] [2]

المراجع

  1. Python: HTMLParser
  2. CPython 3.12.14: html/parser.py
  3. موضوع تك: لغة بايثون — مفردات
  4. موضوع تك: تطبيقات بايثون — مفردات

أُعدّ هذا المقال بمساعدة الذكاء الاصطناعي، وخضع لمراجعة ذاتية بالأداة نفسها. لا يُنسب إلى مراجع بشري أو خبير مستقل. منهجية المحتوى.