मैं ऐसा कुछ बनाने की कोशिश कर रहा हूं जो सामग्री को अनंत स्क्रॉल वाले पृष्ठ से क्रॉल करता है। हालांकि, मैं पहले 'ब्रेक' से नीचे सामान नहीं प्राप्त कर सकता। मैं यह कैसे करु?मैं अनंत-स्क्रॉलिंग पृष्ठ को कैसे क्रॉल करूं?
उत्तर
अनंत स्क्रॉलिंग लगभग हमेशा AJAX, या संबंधित तकनीक का उपयोग करके जावास्क्रिप्ट में किया जाता है। इस प्रकार, आपके वेब क्रॉलर को HTML प्राप्त करने और इसे पार्स करने के लिए पर्याप्त नहीं है; इसे जावास्क्रिप्ट को डाउनलोड और निष्पादित करना होगा, या कम से कम AJAX कॉल के लिए इसे स्कैन करना होगा।
एक पूर्ण जावास्क्रिप्ट निष्पादन करना संभवतः सर्वोत्तम (यानी, काम करने की सबसे अधिक गारंटी होगी), लेकिन शायद यह करना सबसे मुश्किल है।
AJAX अनुरोध के लिए जावास्क्रिप्ट स्कैन और/या कार्यों कि AJAX कॉल पर अमल और उसके बाद करना डोम हेरफेर शायद सबसे आसान
धन्यवाद। चूंकि मैं एक सापेक्ष नौसिखिया हूं, क्या आप मुझे ऐसा करने का उदाहरण दे सकते हैं? – user1319169
यह करना एक आसान बात नहीं है। लेकिन हालांकि आपने एचटीएमएल प्राप्त करने और इसे पार्स करने के लिए अपने क्रॉलर को लिखा है, क्या इसे 'स्क्रिप्ट' टैग की तलाश है, 'src' विशेषता से यूआरएल प्राप्त करें, फिर जेएस डाउनलोड करें और 'xmlhttp' के लिए स्कैन करें और क्या नहीं। – cegfault
और xmlhttp के लिए भी स्कैनिंग जटिल हो सकती है, क्योंकि इसे शायद किसी अन्य फ़ंक्शन द्वारा बुलाया जाता है। तो आइए आपको xmlhttp का कॉल मिल जाए, जिसका उपयोग $ .ajax द्वारा किया जाता है, अब आपको उस स्थान पर जाना होगा जहां $ .ajax कहा जाता है, जो उपयोगकर्ता द्वारा परिभाषित एक अलग फ़ंक्शन हो सकता है। संक्षेप में, आपको डाउनलोड किए जा रहे संसाधन के यूआरएल को जानने के लिए पूरे कॉल स्टैक को पार करना होगा, लेकिन अधिक परेशानी है, यूआरएल काउड गतिशील रूप से बनाया जा सकता है। इस समस्या को हल करने के लिए, Google AJAX पृष्ठों को क्रॉल करने की अनुमति देने के लिए विशिष्ट मार्कअप जोड़ने वाले वेबमास्टर्स पर निर्भर करता है, – bigblind
एक अजाक्स अनुरोध (पूर्ण जे एस निष्पादन के सापेक्ष) हो जाएगा की तलाश में किसी अन्य अनुरोध से अलग नहीं है । आप बस अनुरोध करते हैं, परिणाम का विश्लेषण करते हैं, और वहां आपका डेटा होता है।
यदि आपने पहले ऐसा नहीं किया है तो यह कुछ अनुभव ले सकता है लेकिन यह एक अच्छा सीखने का अनुभव जैसा लगता है।
यह उत्तर अनंत स्क्रॉलर्स के एक बड़े प्रतिशत के लिए प्रासंगिक होना चाहिए, जाहिर है कि आपका मिलेज भिन्न हो सकता है।
अधिकांश अनंत स्क्रॉलर ऑफ़सेट स्थिति का उपयोग करके काम करते हैं और ऑफ़सेट से आइटम के अगले हिस्से को पकड़ते हैं। यह बिल्कुल वैसा ही है जैसा पेजिंग
< Previous 1 2 3 4 5 Next >
से आगे बढ़कर काम कर सकता है सिवाय इसके कि ऑफ़सेट संग्रहीत किए जाते हैं और एक नया अनुरोध करने के लिए उपयोग किया जाता है।
इस बात को ध्यान में रखते हुए, यदि आप क्रोम या फ़ायरफ़ॉक्स में डेवलपर टूलबार खोलते हैं और नेटवर्क टैब को चेक करते हैं, तो आप स्क्रॉल के रूप में आने वाले अनुरोधों को देख सकते हैं।
अनुरोध पर मानकों को देखें, और आप सबसे अधिक संभावना देखेंगे कुछ की तरह
GET /api/v2/books?offset=100=count=10
GET /api/v2/books?offset=110=count=10
GET /api/v2/books?offset=120=count=10
यह जानकर, आप बहुत आसानी से वास्तव में अनदेखा कर सकते हैं लक्ष्य HTML के स्क्रैप, और बस के लिए अपने आंतरिक लक्ष्य URI का उपयोग अपने अनुरोध करें
यह पूरी तरह से काम करता है। – chris
- 1. मैं ASP.NET पृष्ठ में सभी नियंत्रणों को कैसे अक्षम करूं?
- 2. संपूर्ण विकिपीडिया को कैसे क्रॉल करें?
- 3. क्रॉल बॉट कैसे डिज़ाइन करें?
- 4. मैं ASP.NET पृष्ठ पर फ्रेम का उपयोग कैसे करूं?
- 5. मैं प्रत्येक पृष्ठ में कोडइग्निटर हेल्पर्स कैसे लोड करूं?
- 6. मैं पृष्ठ तालिका आकार की गणना कैसे करूं?
- 7. मैं पृष्ठ पर ट्विटर बूटस्ट्रैप टैब कैसे केंद्रित करूं?
- 8. मैं पृष्ठ से HTML स्रोत कैसे प्राप्त करूं?
- 9. मैं JSON पहुंच को कैसे प्रतिबंधित करूं?
- 10. अज्ञात कमांड: क्रॉल त्रुटि
- 11. क्या अमेज़ॅन को क्रॉल करना कानूनी है?
- 12. अक्सर अद्यतन वेबपृष्ठों को क्रॉल/इंडेक्स करने के लिए रणनीति?
- 13. किसी निश्चित उपयोगकर्ता के रीट्वीट को कैसे क्रॉल करें?
- 14. मैं HTML पृष्ठ को Node.js
- 15. स्केपर Django सीमा लिंक क्रॉल
- 16. क्या Google AJAX सामग्री को क्रॉल करता है?
- 17. मैं पूरे पृष्ठ के HTML को jQuery के साथ कैसे प्राप्त करूं?
- 18. मैं URL में एकल पृष्ठ आईडी के आधार पर अनुमतियों को कैसे प्रतिबंधित करूं?
- 19. फ़ायरफ़ॉक्स एक्सटेंशन से पृष्ठ-परिभाषित जावास्क्रिप्ट फ़ंक्शन को मैं कैसे निष्पादित करूं?
- 20. मैं किसी डोमेन को किसी विशिष्ट "लैंडिंग पृष्ठ" पर रीडायरेक्ट कैसे करूं?
- 21. मैं उचित डॉक प्रकार वाले पृष्ठ पर IE9 में "संगतता दृश्य" को कैसे लागू करूं?
- 22. मैं Ajax.ActionLink को पूरे पृष्ठ पर नेविगेट करने के बजाय तत्व कैसे अपडेट करूं?
- 23. सभी AJAX कॉल पूर्ण होने के बाद मैं पृष्ठ को फिर से लोड कैसे करूं?
- 24. जावास्क्रिप्ट में POSTDATA चेतावनी के बिना मैं एक पृष्ठ को फिर से लोड कैसे करूं?
- 25. मैं मूल HTML पृष्ठ को पुनः लोड करने के लिए फ़्लैश कैसे प्राप्त करूं?
- 26. मैं अपने कॉलम को हमेशा पृष्ठ के नीचे तक फैलाने के लिए कैसे मजबूर करूं?
- 27. ब्राउज़र-बैक-बटन के माध्यम से मैं उपयोगकर्ता आगमन-पर-पृष्ठ को कैसे प्रबंधित करूं?
- 28. एसडीएल ट्रिडियन: मैं एक पृष्ठ को बार-बार प्रकाशित करने के लिए कैसे शेड्यूल करूं?
- 29. मैं PhantomJS द्वारा प्राप्त पृष्ठ में जेनरेट की गई जावास्क्रिप्ट त्रुटियों को कैप्चर कैसे करूं?
- 30. खोज इंजन बॉट फ़ोरम कैसे क्रॉल करते हैं?
हमें यह जानना होगा कि आपके प्रश्न का उत्तर देने के लिए अनंत स्क्रॉलिंग कैसे कार्यान्वित की जाती है। यह शायद AJAX कॉल का उपयोग कर किया जाता है। इसका अर्थ यह है कि यदि आपका क्रॉलर रूबी जैसे सर्वर साइड भाषा में लिखा गया है, तो आपको उस पृष्ठ पर ते जावास्क्रिप्ट निष्पादित करने के लिए एक wqy की आवश्यकता होगी। – bigblind
अजाक्स का उपयोग करके कार्यान्वित किया गया। – user1319169