आर

2013-05-15 2 views
5

में गैर यूटीएफ -8 और एएससीआईआई अक्षरों twitteR पैकेज के साथ समस्याएं पिछले प्रश्न में मैंने हैरज़ ट्विटर से बड़ी संख्या में ट्विटर अनुयायियों (और उनके स्थान, सृजन की संख्या, अनुयायियों की संख्या इत्यादि) डाउनलोड करने के बारे में पूछा। फ़ीड (@haaretzcom) आर में twitteR पैकेज का उपयोग कर (Work around rate limit for extracting large list of user information using twitteR package in R देखें)। ट्विटर फीड में 9 0,000 से अधिक अनुयायियों हैं जो मैं नीचे दिए गए कोड का उपयोग कर अनुयायियों की पूरी सूची डाउनलोड करने में सक्षम था।आर

require(twitteR) 
    require(ROAuth) 
    #Loading the Twitter OAuthorization 
    load("~/Dropbox/Twitter/my_oauth") 

    #Confirming the OAuth 
    registerTwitterOAuth(my_oauth) 

    # opening list to download 
    haaretz_followers<-getUser("haaretzcom")$getFollowerIDs(retryOnRateLimit=9999999) 

    for (follower in haaretz_followers){ 
    Sys.sleep(5) 
    haaretz_followers_info<-lookupUsers(haaretz_followers) 

    haaretz_followers_full<-twListToDF(haaretz_followers_info) 

    #Export data to csv 
    write.table(haaretz_followers_full, file = "haaretz_twitter_followers.csv", sep=",") 
} 

कोड उपयोगकर्ताओं के कई निकालने में काम करता है।

Error in twFromJSON(out) : 
RMate stopped at line 51 
Error: Malformed response from server, was not JSON. 
RMate stopped at line 51 
The most likely cause of this error is Twitter returning a character which 
can't be properly parsed by R. Generally the only remedy is to wait long 
enough for the offending character to disappear from searches (e.g. if 
using searchTwitter()). 
Calls: twListToDF ... lookupUsers -> lapply -> FUN -> <Anonymous> -> twFromJSON 
Execution halted 

यहां तक ​​कि अगर मैं ट्विटर पैकेज के बाद RJSONIO पैकेज लोड करते हैं, मैं इस समस्या में चल रहा हूँ: बहरहाल, जब भी मैं एक निश्चित उपयोगकर्ता मारा मैं निम्नलिखित त्रुटि मिलती है। कुछ शोध करने से, ऐसा लगता है कि twitteR और RJSONIO पैकेज में गैर-यूटीएफ -8 या ASCII वर्ण (अरबी आदि) http://lists.hexdump.org/pipermail/twitter-users-hexdump.org/2013-May/000335.html को पार्स करने में समस्याएं हैं। क्या मेरे पास कोड में गैर यूटीएफ -8 या ASCII को अनदेखा करने का कोई तरीका है और अभी भी सभी अनुयायी जानकारी निकालें? कोई भी सहायताकाफी प्रशंसनीय होगी।

+0

क्या आप ट्वीट को पकड़ने में सक्षम हैं और यह केवल पार्सिंग है जो असफल हो जाता है, या आप ट्वीट भी डाउनलोड नहीं कर सकते? यदि पूर्व, आप 'रीडलाइन' का उपयोग कर सकते हैं और फिर अपमानजनक वर्ण –

+0

@ रिकार्डोस्पोर्टा को दुर्भाग्यवश कर सकते हैं दुर्भाग्य से यह मुझे ट्वीट डाउनलोड करने भी नहीं देगा। जब आपत्तिजनक उपयोगकर्ता की जानकारी की बात आती है तो लूप बस टूट जाता है। – Thomas

+3

@ थॉमस: अभी भी कोई जवाब नहीं है? जब भी मैं twitteR के साथ कुछ भी करने की कोशिश करता हूं मैं इसे सामना करता हूं ... – Heisenberg

उत्तर