Tuesday 15 September 2015

python - How to insert a HTML element in a tree of lxml.html -


मैं Python 3.3 और lxml 3.2.0 का उपयोग कर रहा हूं

समस्या: मैं एक चर में एक वेब पेज webpageString = है "& LT; html & gt; & lt; शीर्ष & gt; & lt; / head & gt; & lt; body & gt; वेबपेज सामग्री & lt; / body & gt; & lt; / html & gt;" और मैं चाहता हूँ दो हैडर टैग के बीच एक सीएसएस लिंक टैग सम्मिलित करना इतना है कि मैं पाने के लिए webpageString = "& LT; html & gt; & lt; शीर्ष & gt; & lt; लिंक rel = 'स्टाइलशीट' type = 'text / css' & gt; & lt; / शीर्ष & gt; & lt; body & gt; वेबपेज सामग्री & lt; / body & gt; & lt; / html & gt; "

मैं निम्नलिखित कोड लिखा है:

  डीईएफ़ addCssCode (आत्म ): पेड़ = html.fromstring (self.article) headTag = tree.xpath ( "// सिर") #htmlTag = tree.getroot () यदि headTag कोई नहीं है: हेड टैग पहले cssLinkString #insert पारित = "& LT; लिंक Rel = 'स्टाइलशीट' प्रकार = 'टेक्स्ट / सीएसएस' href = '"+ self.css स्थान +"' & gt; " headTag [0] .Insert (1, html.HtmlElement (cssLinkString)) प्रिंट (cssLinkString) self.article = html.tostring (पेड़) .decode ( "utf-8")   

कौन सा परिणाम सम्मिलित करता है -

  & lt; HTMLElement & gt; & amp; lt; लिंक rel = 'स्टाइलशीट' प्रकार = 'टेक्स्ट / सीएसएस' href = 'cssCode.css' & amp; gt; & lt; / HTMLElement & gt;   

मैंने भी एक समान समस्या के लिए निम्नलिखित पृष्ठ में समाधान की कोशिश की, लेकिन यह भी काम नहीं करता।

मैं इसे कैसे हल करूं? धन्यवाद

का प्रयोग करें .inert / .append विधि।

  import lxml.html def add_css_code (वेबपेजस्ट्रिंग, लिंकस्ट्रिंग): रूट = lxml.html .fromstring (वेबपेज स्ट्रिंग) लिंक = lxml.html .fromstring (लिंकस्ट्रिंग) .find ('./ शीर्षक = 'शीर्षक') सिर = 'root.find' ('.// ​​head') शीर्षक = head.find ('title') यदि शीर्षक == कोई भी नहीं: where = 0 else: where = head.index (title) + 1 head लिंक्स (जहां, लिंक) लौटें lxml.html.tostring (रूट) वेबपृष्ठ स्ट्रिंग 1 = "& lt; html> gt; & gt; शीर्षक & gt; & lt; शीर्षक & gt; परीक्षा & lt; / शीर्षक & gt; & lt; / head & gt; & lt; body & gt; वेबपृष्ठ सामग्री & lt; / body & gt; & lt; / html & gt; " वेबपेज स्ट्रिंग 2 = "& lt; html & gt; & lt; head> gt; & lt; / head & gt; बॉडी & gt; वेबपृष्ठ सामग्री & lt; / body & gt; & lt; / html & gt;" LinkString = "& lt; link rel = 'स्टाइलशीट' प्रकार = 'टेक्स्ट / सीएसएस' & gt;" प्रिंट (ऐड_css_code (वेबपेजस्ट्रिंग 1, लिंकस्ट्रिंग)) प्रिंट (ऐड_css_code (वेबपेजस्ट्रिंग 2, लिंकस्ट्रिंग))    

No comments:

Post a Comment