2012-05-14 28 views
7

यहाँ एक उदाहरण यूआरएल है:में फेसबुक यूआरएल के बंटवारे ओग में खींच नहीं करता: डिबगर के माध्यम से चलाने जब तक टैग जानकारी (भले ही डिबगर कोई त्रुटि देता है)

http://www.motherjones.com/mojo/2012/05/reince-priebus-lgbt-workplace-discrimination

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

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

http://www.motherjones.com/kevin-drum/2012/05/health-insurers-required-credit-obama-when-sending-out-rebate-checks

यह केवल एक समय में समस्या हो सकती - अमेरिकन प्लान हमारे पृष्ठों पर मेटाडाटा तैयार करने के लिए धीमी है - लेकिन हम देखा है कि यह साझा करने के लिए घंटे, हो सकता है दिन लगते हैं ठीक से काम शुरू करने के लिए। यह टुकड़ा ट्रैफिक में चोटी के बाद काफी लंबा है, इसलिए यह हमें थोड़ा अच्छा करता है। वहाँ हमारे पृष्ठों है कि फेसबुक के लिए उन्हें स्क्रैप करने का धीमी गति से करने के बारे में कुछ है:

हम 9 अप्रैल

मेरा प्रश्न के आसपास इस देखना शुरू किया? मैं क्या खो रहा हूँ? यदि कोई समस्या है, तो डीबगर मुझे क्यों नहीं बताता? ऐसा लगता है कि कोशिश करने के लिए डॉक्टरेट का थोड़ा अद्यतन संस्करण है, लेकिन ऐसा लगता है कि अपराधी होने की संभावना नहीं है। साथ ही - क्या कोई कारण है कि मुझे प्रकाशित समय पर डीबगर के माध्यम से सब कुछ चलाने के लिए एक हुक नहीं लिखना चाहिए?

+0

यह भी ध्यान रखना चाहिए कि पृष्ठ पर "जैसे" पर क्लिक करने से मेटाडेटा के साथ सामान्य साझा होता है (लेकिन पेस्ट-इन साझाकरण को ठीक नहीं करता है)। –

उत्तर

2

फेसबुक जब उपयोगकर्ताओं को साझा तेजी से प्रतिक्रिया के लिए उनके पक्ष में खत्म कर दिया डेटा संचित करता है। Like Button यह कहता है के प्रलेखन में:

जब फेसबुक मेरा पेज स्क्रैप करता है?

फेसबुक को साइट के आसपास इसे प्रदर्शित करने के तरीके को जानने के लिए अपने पृष्ठ को स्क्रैप करने की आवश्यकता है।

फेसबुक हर 24 घंटे में अपने पृष्ठ scrapes सुनिश्चित करने के लिए गुण तारीख तक हैं। ओपन ग्राफ़ पेज के लिए एक व्यवस्थापक की तरह बटन क्लिक करता है जब पेज भी स्क्रैप और है यूआरएल फेसबुक यूआरएल Linter में प्रवेश किया जाता है। फेसबुक आपके यूआरएल पर कैश हेडर देखता है - यह वरीयता के क्रम में "समाप्त हो जाता है" और "कैश-कंट्रोल" देखेंगे। हालांकि, भले ही आप एक लंबे समय के निर्दिष्ट करते हैं, फेसबुक अपने पेज हर 24 घंटे में स्क्रैप जाएगा।

स्क्रेपर के उपयोगकर्ता एजेंट है: "facebookexternalhit/1.1 (+ http: //www.facebook.com/externalhit_uatext.php)"

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

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

अगर चीजें अभी भी आपकी अपेक्षा के अनुरूप काम नहीं करते हैं, तो आप आने वाले अनुरोधों की उपयोगकर्ता एजेंट स्ट्रिंग की जाँच करें और facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php) के साथ तुलना और अगर यह प्रतिक्रिया आप वापस भेजने के लिए लॉग इन से मेल खाता है, तो परिणाम आपको मिल के साथ तुलना कर सकते हैं साझा करते समय, अगर यह एक बग रिपोर्ट दर्ज करने की असंगत कोशिश करता है। प्रति प्रकाशित एक डीबगर अनुरोध "हुकिंग" के लिए, मैं इसके खिलाफ सुझाव दूंगा, ऐसा लगता है कि यदि चीजें काम करती हैं तो उन्हें काम करना चाहिए। मेरा मानना ​​है कि समस्या को हल करने के लिए बेहतर काम करना बेहतर है।

+0

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

+0

अब मेरे पास एक नया सिद्धांत है। हम बहुत सारी सामग्री अप्रकाशित मंच पर हैं। लॉग से पता चलता है कि एफबी इस सामग्री को हिट करने और 403 (जैसा होना चाहिए) प्राप्त करने की कोशिश कर रहा है। फिर सवाल यह है कि - अप्रकाशित पृष्ठ के बारे में एफबी को क्या पता चल जाता है? क्या यह बटन की तरह ही है, एसडीके, या दोनों/या तो? स्क्रैप को रोकने के लिए मुझे अप्रकाशित पृष्ठों को दूर रखने के लिए क्या करना है? –

+1

पृष्ठ को स्क्रैप करने के लिए कुछ ट्रिगर्स हैं, उनमें से एक एक समान बटन का प्रतिपादन है। और यदि यूआरएल 403 लौटाता है तो वह कैश हो जाएगा। क्या आप स्टेजिंग और उत्पादन के लिए एक ही यूआरएल का उपयोग करते हैं? –