firefox - लिनक्स पर हेडलेस, पटकथा फ़ायरफ़ॉक्स/वेबकिट?




webkit screen-scraping (5)

मैं कुछ वेब इंटरैक्शन स्वचालित रूप से एक सुरक्षित वेबसाइट से फाइलों के आवधिक डाउनलोड को स्वचालित करने के लिए देख रहा हूं। इसमें मूल रूप से मेरा उपयोगकर्ता नाम / पासवर्ड दर्ज करना और उचित यूआरएल पर नेविगेट करना शामिल है।

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

मैंने फिर HTMLUnit की कोशिश की, लेकिन ऐसा लगता है कि यह भी काम नहीं करना चाहता है। मुझे संदेह है कि फ्लैश का उपयोग मुद्दा है।

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

आवश्यकताएं हैं:

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

क्या एक हेडलेस, एक्स-कम स्क्रिप्ट योग्य ब्राउज़र के लिए कोई अच्छी टूलकिट है? क्या आपने ऐसा कुछ करने की कोशिश की है और यदि ऐसा है तो आपके पास ज्ञान के कोई शब्द हैं?


इसे पूरा करने के लिए, मैं केवल क्रोम एक्सटेंशन लिखता हूं जो कॉच डीबी ( example और इसके फ़्यूटन) पर पोस्ट करते हैं। क्रॉस-डोमेन XHR को अनुमति देने के लिए मैनिफेस्ट में अनुमतियों के लिए सोफे जोड़ें।

(मैं इस धागे पर जो कुछ भी कर रहा हूं उसके सिरदर्द विकल्प की खोज में आया; इस धागे को मिलाकर, मैं कुछ बिंदु पर क्रॉबर को आजमाने की कोशिश कर रहा हूं।)

साथ ही, इस वेबसाइट की विचित्र विशेषताओं पर विचार करते हुए, मैं यह सोचने में मदद नहीं कर सकता कि क्या आप फ्लैश और जावास्क्रिप्ट के आसपास कुछ सुरक्षा छेद का फायदा उठा सकते हैं।


क्या आपने Selenium की कोशिश की है? यह आपको फ़ायरफ़ॉक्स के विस्तार का उपयोग करके उपयोग परिदृश्य रिकॉर्ड करने की अनुमति देगा, जिसे बाद में कई अलग-अलग तरीकों से उपयोग किया जा सकता है।

संपादित करें: मुझे अभी एहसास हुआ कि यह बहुत देर से प्रतिक्रिया थी। :)


मैंने IE एम्बेडेड ब्राउज़र के साथ कार्य किया था (हालांकि यह छुपा ब्राउज़र घटक पैनल के साथ गुई अनुप्रयोग था)। वास्तव में आप कोई लेआउट इंजन ले सकते हैं और आउटपुट तर्क काट सकते हैं। फायरिंग स्क्रिप्ट जैसी घटनाओं के माध्यम से नेविगेशन किया जाना चाहिए।

आप Crowbar उपयोग कर सकते हैं। यह फ़ायरफ़ॉक्स (गीको इंजन) का हेडलेस संस्करण है। यह ब्राउज़र को रीस्टफुल सर्वर में बदल देता है जो अनुरोध स्वीकार कर सकता है ("url लाने")। तो यह एचटीएमएल पार्स करें, इसे डीओएम के रूप में प्रस्तुत करें, सभी स्क्रिप्ट के लिए परिभाषित देरी का इंतजार करें।

यह लिनक्स पर काम करता है। मुझे लगता है कि आप आसानी से जेएस और समृद्ध XULrunner क्षमताओं का उपयोग कर अपने लक्ष्य के लिए इसे बढ़ा सकते हैं।


लिनक्स के लिए iMacros आपको फ़ायरफ़ॉक्स और क्रोम स्क्रिप्ट करने की अनुमति देता है: http://wiki.imacros.net/Linux


WebKitDriver पर एक नज़र WebKitDriver । इस परियोजना में वेबकिट के हेडलेस कार्यान्वयन शामिल हैं।





headless-browser