2010-11-22 18 views
5

एक शोध परियोजना के लिए, मैं पायथन-ट्विटर का उपयोग कर ट्वीट्स एकत्र कर रहा हूं। हालांकि, एक सप्ताह के लिए एक कंप्यूटर पर हमारे कार्यक्रम नॉनस्टॉप चलाते समय हम प्रति सप्ताह केवल 20 एमबी डेटा एकत्रित करने में कामयाब होते हैं। मैं केवल एक ही मशीन पर इस कार्यक्रम को चला रहा हूं ताकि हम दो बार एक ही ट्वीट नहीं एकत्र कर सकें।पाइथन में ट्विटर एपीआई का उपयोग करके अधिक तेज़ी से ट्वीट्स कैसे एकत्र करें?

हमारा प्रोग्राम एक लूप चलाता है जो प्रत्येक 60 सेकंड में getPublicTimeline() को कॉल करता है। मैंने सार्वजनिक टाइमलाइन में दिखाई देने वाले कुछ उपयोगकर्ताओं पर getUserTimeline() को कॉल करके इसे सुधारने की कोशिश की। हालांकि, यह लगातार मुझे हर बार करीब आधे घंटे तक ट्वीट इकट्ठा करने से प्रतिबंधित कर देता है। प्रतिबंध के बावजूद, ऐसा लगता है कि इस कोड को जोड़कर बहुत कम गति थी।

मुझे ट्विटर की "श्वेतसूची" के बारे में पता है जो उपयोगकर्ता को प्रति घंटा अधिक अनुरोध सबमिट करने की अनुमति देता है। मैंने इसके बारे में तीन हफ्ते पहले आवेदन किया था, और तब से वापस नहीं सुना है, इसलिए मैं उन विकल्पों की तलाश में हूं जो हमारे कार्यक्रम को मानक दर सीमा के बिना ट्वीट्स को अधिक कुशलता से इकट्ठा करने की अनुमति देंगे। क्या किसी को ट्विटर से सार्वजनिक ट्वीट्स एकत्र करने के लिए एक तेज़ तरीका पता है? हम प्रति सप्ताह लगभग 100 एमबी प्राप्त करना चाहते हैं।

धन्यवाद।

+0

पुरानी पोस्ट, लेकिन यहां जो लोग ठोकर खा रहे हैं: getPublicTimeline() वर्तमान ट्विटर एपीआई और न ही पायथन-ट्विटर कोड में है, लेकिन शायद यह उस उपयोगकर्ता की टाइमलाइन प्राप्त करता है जिसे प्रमाणीकृत किया गया है - मेरा अनुमान यही कारण है छोटी संख्या में ट्वीट्स के लिए। मुझे नहीं लगता कि आप आरईएसटी एपीआई के साथ एक खुली क्वेरी कर सकते हैं, लेकिन स्ट्रीमिंग एपीआई के साथ आप (मुझे लगता है कि फायरहोज का 1% - कुछ दिनों में डेटा के कुछ गिग प्राप्त करने के लिए बहुत कुछ) – drevicko

उत्तर

5

streaming API का उपयोग करने के बारे में कैसे? यह बिल्कुल उपयोग-मामला है जिसे इसे संबोधित करने के लिए बनाया गया था। स्ट्रीमिंग एपीआई के साथ आपको ट्वीट्स के मेगाबाइट्स को इकट्ठा करने में कोई समस्या नहीं होगी। आप अभी भी ट्विटर द्वारा एक्सेस प्रदान किए बिना सभी ट्वीट्स (फ़ायरहोज) या यहां तक ​​कि एक सांख्यिकीय रूप से महत्वपूर्ण नमूना (गार्डनोज़) तक पहुंचने में सक्षम नहीं होंगे।

1

मैंने ट्वीट्स से डेटा का विश्लेषण करने वाली एक समान परियोजना की। यदि आप इसे शुद्ध डेटा संग्रह/विश्लेषण कोण से अभी जा रहे हैं, तो आप विभिन्न कारणों से इन ट्वीट्स को एकत्र करने वाली किसी भी बेहतर साइट को स्क्रैप कर सकते हैं। कई साइटें आपको हैशटैग द्वारा खोज करने की अनुमति देती हैं, इसलिए एक लोकप्रिय पर्याप्त हैशटैग में फेंक दें और आपको हजारों परिणाम मिलेंगे। मैंने लोकप्रिय हैशटैग के लिए इन साइटों में से कुछ को तोड़ दिया, इन्हें एक बड़ी सूची में एकत्र किया, साइट के खिलाफ उस सूची की पूछताछ की, और परिणामों से सभी उपयोग योग्य जानकारी को तोड़ दिया। कुछ साइटें आपको इस डेटा को और भी आसान बनाने के लिए सीधे डेटा निर्यात करने की अनुमति देती हैं। आपको बहुत सारे कचरे के परिणाम मिलेंगे जिन्हें आपको संभवतः फ़िल्टर करने की आवश्यकता होगी (स्पैम, विदेशी भाषा, आदि), लेकिन यह हमारी परियोजना के लिए काम करने का सबसे तेज़ तरीका था। ट्विटर शायद आपको श्वेतसूची की स्थिति प्रदान नहीं करेगा, इसलिए मैं निश्चित रूप से उस पर भरोसा नहीं करता।

+0

क्या आप दे सकते हैं ऐसी वेबसाइटों के अच्छे उदाहरणों के लिए कुछ पॉइंटर्स? – radek

1

स्ट्रीमिंग एपीआई एन पायथन का उपयोग करने पर ars technica से बहुत अच्छा tutorial है जो यहां सहायक हो सकता है।

अन्यथा आप के माध्यम से doing it को आजमा सकते हैं।

संबंधित मुद्दे