मैं वेब पेजों की एक श्रृंखला से HTML के एक हिस्से को निकालने के लिए YQL का उपयोग करने का प्रयास कर रहा हूं। पृष्ठों में स्वयं की थोड़ी अलग संरचना होती है (इसलिए इसकी "कट सामग्री" सुविधा के साथ एक याहू पाइप्स "फ़ेच पेज" अच्छी तरह से काम नहीं करता है) लेकिन जिस टुकड़े में मुझे रूचि है, वह हमेशा class
विशेषता है।क्या YQL को HTML वापस करने का कोई तरीका है?
अगर मैं इस तरह एक HTML पृष्ठ है:
<html>
<body>
<div class="foo">
<p>Wolf</p>
<ul>
<li>Dog</li>
<li>Cat</li>
</ul>
</div>
</body>
</html>
और इस तरह एक YQL अभिव्यक्ति का उपयोग:
SELECT * FROM html
WHERE url="http://example.com/containing-the-fragment-above"
AND xpath="//div[@class='foo']"
क्या मैं वापस पाने के डोम तत्वों, जहां (जाहिरा तौर पर अव्यवस्थित?) कर रहे हैं मैं चाहता हूं कि HTML सामग्री स्वयं ही हो। मैंने SELECT content
भी कोशिश की है, लेकिन यह केवल पाठ्य सामग्री का चयन करता है। मुझे एचटीएमएल चाहिए क्या यह संभव है?
सुंदर! धन्यवाद। मेरे पास अब एकमात्र मुद्दा यह है कि याहू पाइप्स वैरिएबल को YQL अभिव्यक्ति में कैसे प्राप्त किया जाए। उदाहरण के लिए, चयन * html.tostring जहां url = item.link और से xpath = '// div [@ आईडी = "foo"]' वापस त्रुटि देता है "अवैध identfier item.link। मैं हूँ इस संदर्भ में एकमात्र समर्थित पहचानकर्ता। " कोई विचार मैं यह कैसे करता हूं? (कुचले हुए कोड स्निपेट के लिए खेद है, टिप्पणियों की तरह दिखता है प्रारूपण के तरीके में ज्यादा अनुमति नहीं देता है) –
इसका उत्तर पता चला: एक अलग पाइप बनाएं जो एक यूआरएल इनपुट लेता है, जो एक स्ट्रिंग बिल्डर में बनाता है जो बनाता है YQL क्वेरी, और YQL विजेट को क्वेरी के रूप में संलग्न करें। फिर अपने मुख्य पाइप में, इस नई पाइप का उपयोग करें और यूआरएल में इनपुट के रूप में पास करें। मुझे लगता है कि मैं शायद इस के लिए एक नया प्रश्न खोलूंगा ताकि लोगों को इसकी टिप्पणियों में इसका शिकार न करना पड़े। –
खोला गया: http://stackoverflow.com/questions/2889406/how-do-i-pass-a-yahoo-pipes-item-into-a-yql-query –