2009-04-22 14 views
6

में एचटीएमएल पार्सिंग मिला है, मैं HTML पृष्ठों को डाउनलोड करने और उन्हें पार्स करने के लिए सुंदर सूप और urllib2 का उपयोग कर रहा हूं। समस्या गलत गठित HTML पृष्ठों के साथ है। यद्यपि सुंदर सूप गलत गठित एचटीएमएल को संभालने में अच्छा है, फिर भी यह फ़ायरफ़ॉक्स जितना अच्छा नहीं है।गीको/फ़ायरफ़ॉक्स या वेबकिट का उपयोग करके पाइथन

यह ध्यान में रखते हुए कि फ़ायरफ़ॉक्स या वेबकिट एचटीएमएल को संभालने में अधिक अद्यतन और लचीला है, मुझे लगता है कि उन्हें पृष्ठ के डीओएम पेड़ को बनाने और सामान्य बनाने के लिए उनका उपयोग करना आदर्श है और फिर इसे पायथन के माध्यम से कुशल बनाना है।

हालांकि मुझे इसके लिए किसी भी पायथन बाध्यकारी नहीं मिल रहा है। क्या कोई रास्ता सुझा सकता है?

मैं एक हेडलेस फ़ायरफ़ॉक्स प्रक्रिया चलाने और पाइथन के माध्यम से इसे छेड़छाड़ करने के कुछ समाधानों में भाग गया लेकिन क्या एक और पाइथनिक समाधान उपलब्ध है।

+0

PyWebkitDFB पसंद कर सकते हैं [1] कुछ सामान पार्स करने के लिए किया था यह हो सकता है कि आप सुंदर सूप 3.1 "करता है वास्तविक दुनिया HTML से संस्करण 3.0.7a करता है पर काफी बदतर" है? उपयोग कर रहे हैं हाल ही में मैंने पाया और पाया कि 3.0.7 वास्तव में चीजों को बेहतर तरीके से संभालता है। 3.0.7a पर स्विच करने के लिए easy_install का उपयोग करें: सूडो easy_install beautifulsoup == 3.0.7a [1] http://www.crummy.com/software/BeautifulSoup/3.1-problems.html –

उत्तर

1

शायद pywebkitgtk आपको जो चाहिए वह करेगा।

+1

नहीं, यह नहीं होगा। pywebkitgtk "केवल एक पेज डिस्प्लेर" है। आप http://www.gnu.org/software/pythonwebkit चाहते हैं जो एक भारी-संशोधित संस्करण है जो वेबकिट (!) को शामिल करता है और डीओएम तक पहुंच की अनुमति देता है। सभी 3,000 कार्यों और सभी 20,000 गुण। – user362834

1

http://wiki.python.org/moin/WebBrowserProgramming

काफी विकल्पों में से एक बहुत कुछ कर रहे हैं देखते हैं - मैं ऊपर इतना है कि मैं अपने आप को दोहरा नहीं रखते पेज को बनाए रखने कर रहा हूँ।

आपको पजामा-डेस्कटॉप पर देखना चाहिए: उदाहरण/सबसे उदाहरण उदाहरण देखें क्योंकि हम HTML पृष्ठ "आउट" की प्रतियां प्राप्त करने के लिए वास्तव में इस चाल का उपयोग करते हैं, ताकि पाइथन-टू-जावास्क्रिप्ट कंपाइलर की तुलना करके परीक्षण किया जा सके प्रत्येक इकाई परीक्षण के बाद पृष्ठ परिणाम।

पजामा-डेस्कटॉप द्वारा समर्थित और उपयोग किए जाने वाले प्रत्येक रनटाइम दस्तावेज़ के बॉडी तत्व (और बहुत अधिक नरक) की "आंतरिक HTML" संपत्ति तक पहुंच की अनुमति देने में सक्षम है।

नीचे पंक्ति: आप जो करना चाहते हैं, वह करना मुश्किल है, लेकिन आपको यह जानना होगा कि इसे कैसे करना है, यह जानने के लिए कहां देखना है।

एल।

संबंधित मुद्दे