2012-02-29 11 views
6
से एक स्थिर HTML फ़ाइल पर jQuery रनिंग

मैं बस एक विशिष्ट मूल्य के लिए एक वेबपेज की जाँच करने के लिए एक सरल स्क्रिप्ट लिखने की कोशिश कर रहा हूँ एक अंतराल पर चलाओ। मैं पाइथन का उपयोग करने के साथ भी ठीक हूँ। मुझे अनिवार्य रूप से एक HTTP अनुरोध करने की आवश्यकता है, प्रतिक्रिया प्राप्त करें, और परिणामस्वरूप बुद्धिमानी से पूछताछ करने का एक तरीका है। क्या कोई पुस्तकालय है जो मुझे पूछताछ के हिस्से में मदद करेगा?बैश

उत्तर

8

एक्सपैथ एचटीएमएल पूछताछ के लिए बहुत अच्छा है।

कुछ इस तरह:

//a[@id='infgHeader']/@text 

क्रोम डेवलपर उपकरण में आप अभिव्यक्ति का परीक्षण करने के तत्व टैब में खोज बॉक्स का उपयोग कर सकते हैं। टर्मिनल में

त्वरित रन:

$echo '<div id="test" text="foo">Hello</div>' | xpath '//div[@id="test"]/@text' 
Found 1 nodes: 
-- NODE -- 
text="foo" 
+0

हुर्रे जांच करने की आवश्यकता है! मैं सोच रहा था कि यह मददगार होगा या नहीं। मुझे नहीं पता था क्योंकि एचटीएमएल! = एक्सएमएल, लेकिन हे, अगर यह काम करता है, तो यह काम करता है। –

+1

सही वाक्यविन्यास 'xpath -e ...' लगता है। – Tgr

+0

'xpath' कड़ाई से-एक्सएमएल एचटीएमएल कोड के साथ खराब काम करता है। इसे 100-पंक्ति HTML स्निपेट पर चलाते समय, यह एक मिनट के लिए फ्रीज हो जाता है, फिर "मेल नहीं मिला" त्रुटि के साथ मर जाता है, जाहिर है क्योंकि कोड में '' था और '' नहीं था। – Tgr

2

http://pypi.python.org/pypi/spynner/1.10

Spynner आप jQuery सिंटैक्स का उपयोग डोम से तत्व का चयन करने देगा।

या अन्य पुस्तकालय हैं जो आपको HTML को पार्स करने देते हैं। सुंदर सूप, एलएक्सएमएल

+0

फिक्स्ड लिंक: https://pypi.python.org/pypi/spynner/ –

0

मैंने हाल ही में nodejs + jsdom का उपयोग करके ऐसा कुछ किया है, दोनों अच्छी प्रविष्टि बाधा के साथ अच्छी तरह से प्रलेखित हैं।

1

एलेक्स मैककॉ ने एक अच्छी पोस्ट लिखी जो कि आप node.js/जावास्क्रिप्ट का उपयोग करके पूछ रहे हैं। इसमें बहुत सारी क्षमताएं भी लाती हैं।

http://alexmaccaw.com/posts/node_jquery_xml_parsing

0
एचटीएमएल पार्स करने के लिए

क्योंकि एचटीएमएल प्रीफेक्ट नहीं हो सकता है और डोम मक्खी पर जावा-स्क्रिप्ट के द्वारा संशोधित किया जा सकता है, तो पार्स करने एचटीएमएल तरह के मामले में कोई मतलब नहीं हो सकता है, सामान्य वेबसाइटों के लिए तुच्छ नहीं है।

सबसे अच्छा तरीका है एक ब्राउज़र का उपयोग करने और सीधे डोम का उपयोग, कि तुम phontomjs की तरह एक बिना सिर ब्राउज़र का उपयोग कर सकते हैं के लिए है, तो आप कर सकते हैं यह स्क्रिप्ट और जाँच जो कुछ भी आप xPath के लिए