में एंटरप्राइज़ को हल करें क्योंकि नियमित अभिव्यक्ति मुझे डराते हैं, मैं सभी HTML टैग को हटाने और पाइथन में स्ट्रिंग से HTML इकाइयों को हल करने का एक तरीका ढूंढने का प्रयास कर रहा हूं।एचटीएमएल टैग को फ़िल्टर करें और पाइथन
उत्तर
एचटीएमएल डेटा को पार्स करने और पार्सर की मदद से डेटा निकालने के बारे में कैसे?
में वर्णित जब मैं लुकास के साथ सहमत हैं कि नियमित अभिव्यक्ति सब डरावना नहीं कर रहे हैं, मैं अभी भी लगता है कि आप एक विशेष HTML पार्सर के साथ जाना चाहिए की तरह कुछ की कोशिश होगी। ऐसा इसलिए है क्योंकि एचटीएमएल मानक पर्याप्त बालों वाली है (विशेष रूप से यदि आप इंटरनेट से ली गई मनमाने ढंग से "एचटीएमएल" पृष्ठों को पार्स करना चाहते हैं) तो आपको कोने के मामलों को संभालने के लिए बहुत सारे कोड लिखने होंगे। ऐसा लगता है कि python includes one out of the box।
आपको python bindings for TidyLib भी देखना चाहिए जो टूटी हुई HTML को साफ़ कर सकता है, जिससे किसी भी HTML पार्सिंग की सफलता दर अधिक हो जाती है।
आपको नियमित अभिव्यक्ति की तुलना में कुछ और जटिल की आवश्यकता हो सकती है।
<div>5 < 7</div>
regex के साथ टैग स्ट्रिपिंग स्ट्रिंग वापस आ जाएगी "5" और इलाज
< 7</div>
मात्र एक टैग के रूप में: वेब पृष्ठों अक्सर कोण कोष्ठक कि एक टैग का हिस्सा नहीं हैं, इस तरह की है और इसे बाहर पट्टी।
मैं सुझाव देता हूं कि पहले से लिखे गए कोड की तलाश है जो आपके लिए यह करता है। मैंने एक खोज की और पाया: http://zesty.ca/python/scrape.html यह एचटीएमएल इकाइयों को भी हल कर सकता है।
BeautifulSoup का उपयोग करें! यह इसके लिए बिल्कुल सही है, जहां आपके पास संदिग्ध गुण के आने वाले मार्कअप हैं और इससे कुछ उचित प्राप्त करने की आवश्यकता है। बस मूल पाठ में पास करें, सभी स्ट्रिंग टैग निकालें, और उनसे जुड़ें।
और ऐसा करने के लिए कोड होगा: '' .join (BeautifulSoup (मान, convertEntities = BeautifulSoup.HTML_ENTITIES) .findAll (text = True)) –
रेगुलर एक्सप्रेशन पर एचटीएमएल नज़र को साफ़ करने में चाहते हैं डरावना नहीं हैं, लेकिन अपने स्वयं के regexes लेखन एचटीएमएल पट्टी पागलपन के लिए एक निश्चित पथ (है और यह काम नहीं करेगा, या तो)। ज्ञान के मार्ग का पालन करें, और कई अच्छे HTML-पार्सिंग पुस्तकालयों में से एक का उपयोग करें।
लुकास का उदाहरण भी टूटा हुआ है क्योंकि "उप" पाइथन स्ट्रिंग का तरीका नहीं है। आपको "पुनः आयात" करना होगा, फिर re.sub (पैटर्न, प्रतिलिपि, स्ट्रिंग) पर कॉल करें। लेकिन यह न तो यहां और न ही है, क्योंकि आपके प्रश्न के सही उत्तर में किसी भी regexes लिखना शामिल नहीं है।
लोगों को अन्य उत्तरों में दिखाए जाने वाले अर्थ की मात्रा को देखते हुए, मैं कहूंगा कि रेगेक्स का उपयोग संभवतः आपकी स्थिति के लिए सबसे अच्छा विचार नहीं है। कोशिश की और परीक्षण की गई चीज़ों के लिए जाएं, और मेरे पिछले जवाब को एक प्रदर्शन के रूप में देखें कि regexes को डरावना नहीं होना चाहिए।
अगर आप का उपयोग django आप भी http://docs.djangoproject.com/en/dev/ref/templates/builtins/#striptags का उपयोग कर सकते हैं, अजगर में गोता लगाने होना चाहिए [इस] (http)
- 1. पाइथन और एलएक्सएमएल मॉड्यूल के साथ एचटीएमएल से सभी जावास्क्रिप्ट टैग और स्टाइल टैग हटाएं
- 2. एचटीएमएल को स्वच्छ करें और अपूर्ण टैग बंद करें
- 3. जेएसएफ टैग और एचटीएमएल
- 4. एचटीएमएल डेटा टैग और jQuery
- 5. एचटीएमएल पार्सर टैग मान्य करें
- 6. एचटीएमएल 5 एचटीएमएल टैग और DOCTYPE
- 7. एचटीएमएल टैग
- 8. एचटीएमएल लेबल टैग और एएसपी.NET
- 9. Angular.js - img src टैग में फ़िल्टर करें
- 10. एक टेम्पलेट टैग कैसे फ़िल्टर करें?
- 11. एचटीएमएल आईएमजी टैग को लाटेक्स
- 12. एचटीएमएल टैग
- 13. एचटीएमएल टैग
- 14. एचटीएमएल-टैग
- 15. एचटीएमएल टैग
- 16. क्या एचटीएमएल हेडर टैग को
- 17. एचटीएमएल टैग
- 18. एचटीएमएल 5 वीडियो टैग और कोडेक्स समस्या
- 19. कोणीय फ़िल्टर जो एचटीएमएल
- 20. एचटीएमएल 5 वीडियो टैग
- 21. एचटीएमएल रिले टैग
- 22. एचटीएमएल div टैग
- 23. एचटीएमएल 5 ऑडियो टैग
- 24. क्लोजिंग बॉडी और एचटीएमएल टैग को छोड़ने के लाभ?
- 25. कुछ एचटीएमएल टैग
- 26. jQuery एचटीएमएल() और स्वत: बंद होने टैग
- 27. emacs हमेशा एचटीएमएल टैग बंद करें
- 28. बूटस्ट्रैप और एचटीएमएल 5 टैग संरचना सेमेन्टिक्स
- 29. एचटीएमएल 5 वीडियो टैग और आरटीपी यूआरएल
- 30. एचटीएमएल आईएमजी टैग
वास्तव में कड़ी: // diveintopython।संगठन/html_processing/index.html) –