मैं RSS फ़ीड पर सभी पुराने आइटम कैसे प्राप्त करूं?


117

मैं अपने खुद के आरएसएस रीडर के साथ प्रयोग कर रहा हूं। मैं "पार्स एक्सएमएल" बिट को संभाल सकता हूं। मैं जिस चीज पर अटक रहा हूं, वह है "मैं पुराने पोस्ट कैसे लाऊं?"

अधिकांश RSS केवल अपनी XML फ़ाइल में 10-25 सबसे हाल की वस्तुओं को सूचीबद्ध करते हैं। मैं एक फ़ीड में सभी आइटम कैसे प्राप्त कर सकता हूं , और सबसे हाल ही में नहीं?

एकमात्र समाधान जो मैं पा सकता था, वह "अनौपचारिक" Google रीडर एपीआई का उपयोग कर रहा था, जो कुछ इस तरह होगा

http://www.google.com/reader/atom/feed/http://fskrealityguide.blogspot.com/feeds/posts/default?n=1000

मैं अपने आवेदन को Google रीडर पर निर्भर नहीं बनाना चाहता।

क्या कोई बेहतर तरीका है? मैंने देखा कि ब्लॉगर पर, मैं कर सकता हूँ "? Start-index = 1 & max-results = 1000", और वर्डप्रेस पर "paged = 5" कर सकते हैं। क्या आरएसएस फ़ीड लाने का कोई सामान्य तरीका है ताकि यह मुझे सब कुछ दे, और न केवल सबसे हाल ही में आइटम?


1
रुचि रखने वालों के लिए, अनौपचारिक रीडर API डॉक्स: code.google.com/p/google-reader-api/w/list
Nate Parsons

3
क्या कोई नया तरीका है क्योंकि सवाल 6 साल पहले
फीडली

मैं इस प्रश्न का अद्यतन उत्तर देखना पसंद करूंगा। 8 साल में कुछ नहीं बदला है तो बहुत निराशाजनक! यह एकमात्र नया विकास है जिसे मैंने देखा है: app.pub.center stackoverflow.com/questions/5761954/…
जेस रिडेल

जवाबों:


65

RSS / एटम फ़ीड ऐतिहासिक जानकारी को पुनः प्राप्त करने की अनुमति नहीं देता है। यह फ़ीड के प्रकाशक पर निर्भर है कि वे इसे प्रदान करना चाहते हैं जैसे कि ब्लॉगर या वर्डप्रेस उदाहरण जो आपने ऊपर दिए हैं।

Google रीडर के पास एकमात्र कारण यह है कि यह पहली बार आने पर इसे याद किया गया था।

इस पर कुछ जानकारी है जैसे कि एटम प्रोटोकॉल के विस्तार के रूप में बात की गई थी , लेकिन मुझे नहीं पता कि क्या यह वास्तव में कहीं भी लागू किया गया है।


10

जैसा कि अन्य उत्तरों में उल्लेख किया गया है, एक फ़ीड अभिलेखीय डेटा प्रदान नहीं कर सकती है लेकिन ऐतिहासिक वस्तुएं किसी अन्य स्रोत से उपलब्ध हो सकती हैं।

Archive.org की वेबैक मशीन में RSS सामग्री (यदि उनके बॉट्स ने इसे डाउनलोड किया है) सहित ऐतिहासिक सामग्री तक पहुंचने के लिए एक एपीआई है। मैंने वेब टूल बैकफ़ीड बनाया है जो इस API का उपयोग करता है ताकि एक फ़ीड को पुनर्जीवित किया जा सके जिसमें समसामयिक ऐतिहासिक आइटम हों। यदि आप कार्यान्वयन पर विस्तार से चर्चा करना चाहते हैं तो कृपया संपर्क करें।


3
ओह! मिल गया। यह लिंक विवरण यह ws-dl.blogspot.fr/2013/07// विशेष रूप से, आप कुछ इस तरह से करेंगे web.archive.org/web/timemap/link/$url धन्यवाद!
1nk

8

RSS के साथ मेरे अनुभव में, अंतिम X आइटमों द्वारा फ़ीड संकलित किया जाता है जहां X एक चर है। कुछ फ़ीड्स में पूरी सूची हो सकती है, लेकिन बैंडविड्थ के लिए अधिकांश स्थानों पर केवल कुछ अंतिम वस्तुओं तक सीमित होने की संभावना है।

पुरानी जानकारी वाले Google रीडर के लिए संभावित उत्तर यह है कि वह इसे बाद में उपयोगकर्ताओं के लिए संग्रहीत कर रहा है।


8

आगे डेविड डीन ने कहा कि आरएसएस / एटम फीड में केवल वही होगा जो फीड के प्रकाशक के पास है और उस समय किसी को कोई ऐतिहासिक जानकारी होने के लिए इस सूचना-पत्र को सक्रिय रूप से एकत्र करने की आवश्यकता होगी। मूल रूप से Google रीडर यह मुफ्त में कर रहा था और जब आपने इसके साथ बातचीत की तो आप Google डेटाबेस सर्वरों से इस संग्रहीत सूचनापत्र को पुनः प्राप्त कर सकते थे।

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

मुझे उम्मीद है कि यह जानकारी किसी की मदद करती है।

शॉन


6

एक अन्य संभावित समाधान जो कि मूल रूप से प्रश्न पूछे जाने पर उपलब्ध नहीं हो सकता था और इसके लिए किसी विशिष्ट सेवा की आवश्यकता नहीं थी।

  1. आरएसएस फ़ीड का URL ढूंढें जिसे आप चाहते हैं और उस फ़ीड के लिए संग्रहीत url प्राप्त करने के लिए Waybackpack का उपयोग करें ।
  2. संग्रहीत RSS फ़ीड को खींचने के लिए FeedReader या समान लाइब्रेरी का उपयोग करें ।
  3. प्रत्येक फ़ीड से URL लें और अपनी इच्छानुसार उन्हें परिमार्जन करें। यदि आप समय में वापस जा रहे हैं तो संभव है कि कुछ मृत लिंक हो सकते हैं।

यह एक शानदार सुझाव है। वेकबैक मशीन वास्तव में आरएसएस फ़ीड के साथ ही संग्रह करती है। यह GUI फ़ीड पाठकों के साथ काम नहीं करेगा, लेकिन प्रोग्रामेटिक पाठकों के लिए, यह वेब अनुरोध को ओवरराइड करने के लिए बहुत अधिक परेशानी नहीं है और इसके बजाय इसे कैश की गई RSS / Atom फ़ाइल फ़ीड करें।
सेरिन

@ एलेक्स, क्या आप एक उदाहरण के साथ विस्तृत कर सकते हैं? मुझे आपका सुझाव बहुत पेचीदा लग रहा है।
SanMelkote

2
@SanMelkote मैंने लंबे समय में इस बारे में नहीं सोचा है। मैं अपने कोड को खोदने के लिए याद रखने की कोशिश करूँगा और अगर मुझे यह मिल जाए तो मैं इसे गीथूब जिस्ट के रूप में पोस्ट करूँगा।
बजे एलेक्स क्लिबिसज़

2

RSS / एटम मानकों में पुराने RSS लेखों को क्वेरी करने के तरीके नहीं हैं।

मैं आरएसएस रीडर पर भी काम कर रहा हूं और अपनी खुद की आरएसएस अभिलेखीय सेवा ( https://app.pub.center ) बनाने का फैसला किया है । REST API का उपयोग करना मुफ़्त है। हम पुश सूचनाओं के लिए पैसे लेते हैं।

सेवा दैनिक चुनाव यह आरएसएस फ़ीड की सूची है, और लेख को कैश करता है। फिर, आप इन लेखों को एक कालानुक्रमिक क्रम में वापस पा सकते हैं। उदाहरण के लिए:

अटलांटिक का पृष्ठ 1 https://pub.center/feed/02702624d8a4c825dde21af94e9169773454e0c3/articles?limit=10&page=1

अटलांटिक के पेज 2 https://pub.center/feed/02702624d8a4c825dde21af94e9169773454e0c3/articles?limit=10&page=2


दिलचस्प लग रहा है, लेकिन लिंक मर चुका है।
bluenote10

2

सभी पिछले उत्तर कम या ज्यादा मौजूदा सेवाओं पर निर्भर हैं फिर भी उस फ़ीड या फ़ीड इंजन की एक प्रति है जो पुराने वस्तुओं को गतिशील रूप से प्रदान करने में सक्षम है।

हालाँकि ऐसा करने के लिए एक और, सक्रिय रूप से सक्रिय और बल्कि सैद्धांतिक तरीका है: अपने फीडराइडर को एक कैशिंग प्रॉक्सी का उपयोग करने दें जो कि शब्दशः आरएसएस और / या एटम फ़ीड को समझता है और आपके द्वारा कॉन्फ़िगर किए गए अनुसार प्रति-आइटम बेस पर उन्हें कैश करता है।

यदि फीडरडर नियमित रूप से पोल फ़ीड नहीं करता है, तो प्रॉक्सी अपने आप ही समय-आधारित फीड ज्ञात कर सकता है, जो कि उपयोगकर्ता के अनुकूल से अत्यधिक अस्थिर फीड में एक आइटम को याद नहीं करने के लिए है, जिसमें केवल एक आइटम है और हर दिन (या कम से कम) बदलता है ऐसा करते थे)। इसलिए अगर feedreadere.g। कुछ दिनों के लिए दूर रहने के दौरान दुर्घटनाग्रस्त या खो गया नेटवर्क कनेक्शन, आप अपने फीडर के कैश में आइटम को ढीला कर सकते हैं। उन फीड्स को नियमित रूप से लाने के लिए प्रॉक्सी (जैसे घर के बजाय एक डेटा सेंटर से या लैपटॉप के बजाय एक सर्वर पर) आपको फीडरडर को आसानी से चलाने की अनुमति देता है तब और जब आप अपने फीडर के बाद पोस्ट किए गए आइटम को बिना खोए फीड करते हैं। पिछली बार लेकिन अगली बार उन्हें लाने से पहले फिर से घुमाया गया।

मैं उस अवधारणा को सिमेंटिक फीड प्रॉक्सी कहता हूं और मैंने sfp नामक अवधारणा कार्यान्वयन का एक प्रमाण लागू किया है । हालांकि यह अवधारणा के प्रमाण से बहुत अधिक नहीं है और मैंने इसे और विकसित नहीं किया है। (मैं इसी तरह के विचारों या उद्देश्यों के साथ परियोजनाओं के लिए संकेत के बारे में खुश हूँ। :-)

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.