مكتبة lxml في بايثون
تساعدك في معالجة بيانات HTML و XML وسهلة الإستخدام ويمكن من خلالها تحليل البيانات.
يجب أولا تثبيت مكتبة lxml من Pypi عبر pip
pip install lxml
مثال : في الكود التالي سيتم إنشاء عنصر أو Element من h1 :
في الكود التالي سيم إنشاء عنصر Tag و End Tag من h1 لكن العنصر B و Y سيتم طباعة End Tag او End Element فقط للعنصر بسبب إستخدام SubElement وتم إستخدام المتغير Tag داخل العنصر B و Y في SubElement لأن ذلك يعني أن h1 هي الأساسية أو الإطار و العناصر Y و B تكون عناصر داخل h1.
في الكود التالي تحليل جزء النص بدون تحديد هل هو جزء أم مستند
Hello, World!
“)
print (html.tostring(tag))
يمكنك وضع سمة أو attributeName في عنصر HMTL :
يمكنك أيضا طباعة قيمة السمة أو attributeName القيم فقط .
تستطيع تغير قيمة السمة أو attribute مثلا القيمة تساوي واحد عند طباعتها سيتم طباعة واحد لاكن بعد إضافة تغير إلي السمة و وضع تساوي رقم 2 وإضافة كود لطباعة قيمة السمة من جديد ستجد القيمة 2 :
في الكود التالي يمكن وضع محتوي نص داخل Tag أو Element ومع إستخدام tostring يمكن جعل كل SubElement إلي end Tag بداخل الرئيسي وإضافة محتوي نصي بداخلهم مثل جافاسكريبت يمكن تغير المحتوي.
document.getElementById(“MY_id”).textContent = ‘Borma Here’;
نفس الشئ يمكن فعلة عبر Python:
print(etree.tostring(tag, pretty_print=True).decode(‘utf-8’))
تستطيع البحث عن Element محدد أو محتوي Tag :
tag = etree.Element(“h1”)
etree.SubElement(tag, “p”).text = “Borma Here”
etree.SubElement(tag, “title”).text = “python Code”
print(tag.find(‘h1’)) # None
print(tag.find(‘p’).text)
print(tag.findtext(‘title’))
print(tag.find(‘p’).tag)
في الكود التالي تحليل عنصر HTML وإستخراج معلومات محددة مثل Tag :
My_Tag = etree.Element(“h1”)
etree.SubElement(My_Tag, “p”).text = “Borma Here”
print(My_Tag.tag)
يمكن أيضا طباعة جميع أسماء العناصر أو Elements.
tag = etree.Element(“html”)
etree.SubElement(tag, “h1”)
etree.SubElement(tag, “p”)
etree.SubElement(tag, “input”)
for Name in tag:
print(Name.tag)
قسم التعليقات