मैं बस एक विशिष्ट मूल्य के लिए एक वेबपेज की जाँच करने के लिए एक सरल स्क्रिप्ट लिखने की कोशिश कर रहा हूँ एक अंतराल पर चलाओ। मैं पाइथन का उपयोग करने के साथ भी ठीक हूँ। मुझे अनिवार्य रूप से एक HTTP अनुरोध करने की आवश्यकता है, प्रतिक्रिया प्राप्त करें, और परिणामस्वरूप बुद्धिमानी से पूछताछ करने का एक तरीका है। क्या कोई पुस्तकालय है जो मुझे पूछताछ के हिस्से में मदद करेगा?बैश
बैश
उत्तर
एक्सपैथ एचटीएमएल पूछताछ के लिए बहुत अच्छा है।
कुछ इस तरह:
//a[@id='infgHeader']/@text
क्रोम डेवलपर उपकरण में आप अभिव्यक्ति का परीक्षण करने के तत्व टैब में खोज बॉक्स का उपयोग कर सकते हैं। टर्मिनल में
त्वरित रन:
$echo '<div id="test" text="foo">Hello</div>' | xpath '//div[@id="test"]/@text'
Found 1 nodes:
-- NODE --
text="foo"
http://pypi.python.org/pypi/spynner/1.10
Spynner आप jQuery सिंटैक्स का उपयोग डोम से तत्व का चयन करने देगा।
या अन्य पुस्तकालय हैं जो आपको HTML को पार्स करने देते हैं। सुंदर सूप, एलएक्सएमएल
फिक्स्ड लिंक: https://pypi.python.org/pypi/spynner/ –
एलेक्स मैककॉ ने एक अच्छी पोस्ट लिखी जो कि आप node.js/जावास्क्रिप्ट का उपयोग करके पूछ रहे हैं। इसमें बहुत सारी क्षमताएं भी लाती हैं।
क्योंकि एचटीएमएल प्रीफेक्ट नहीं हो सकता है और डोम मक्खी पर जावा-स्क्रिप्ट के द्वारा संशोधित किया जा सकता है, तो पार्स करने एचटीएमएल तरह के मामले में कोई मतलब नहीं हो सकता है, सामान्य वेबसाइटों के लिए तुच्छ नहीं है।
सबसे अच्छा तरीका है एक ब्राउज़र का उपयोग करने और सीधे डोम का उपयोग, कि तुम phontomjs की तरह एक बिना सिर ब्राउज़र का उपयोग कर सकते हैं के लिए है, तो आप कर सकते हैं यह स्क्रिप्ट और जाँच जो कुछ भी आप xPath के लिए
हुर्रे जांच करने की आवश्यकता है! मैं सोच रहा था कि यह मददगार होगा या नहीं। मुझे नहीं पता था क्योंकि एचटीएमएल! = एक्सएमएल, लेकिन हे, अगर यह काम करता है, तो यह काम करता है। –
सही वाक्यविन्यास 'xpath -e ...' लगता है। – Tgr
'xpath' कड़ाई से-एक्सएमएल एचटीएमएल कोड के साथ खराब काम करता है। इसे 100-पंक्ति HTML स्निपेट पर चलाते समय, यह एक मिनट के लिए फ्रीज हो जाता है, फिर "मेल नहीं मिला" त्रुटि के साथ मर जाता है, जाहिर है क्योंकि कोड में '' था और '' नहीं था। – Tgr