2008-09-24 8 views
28

क्या कोई अच्छा परीक्षण सूट या उपकरण सेट है जो वेबसाइट नेविगेशन को स्वचालित कर सकता है - जावास्क्रिप्ट समर्थन के साथ - और पृष्ठों से HTML एकत्रित करें?जावास्क्रिप्ट समर्थन के साथ स्क्रीन-स्क्रैप करने के लिए एक अच्छा टूल क्या है?

बेशक मैं सुंदर HTML के साथ सीधे HTML को स्क्रैप कर सकता हूं। लेकिन यह उन साइटों के लिए अच्छा नहीं है जिनके लिए जावास्क्रिप्ट की आवश्यकता है। :)

+0

सेलेनियम ठीक वही था जो मुझे चाहिए था। यह बहुत बहुमुखी है, पाइथन सहित कई भाषाओं के साथ इंटरफेस, जो मुझे सामग्री को स्टोर करने और इसे पार्स करने की अनुमति देता है, और उसके बाद सेलेनियम के कार्यों को वापस लौटाई गई सामग्री के आधार पर निर्देशित करता है। प्रतिक्रियाओं के लिए सभी को धन्यवाद! –

उत्तर

25

वास्तविक ब्राउज़र चलाने के लिए आप Selenium या Watir का उपयोग कर सकते हैं।

थेर भी कुछ जावास्क्रिप्ट आधारित नेतृत्वहीन ब्राउज़रों हैं:

  • PhantomJS एक बिना सिर वेबकिट ब्राउज़र है।
    • pjscrape फ़ैंटॉमजेएस और jQuery पर आधारित एक स्क्रैपिंग फ्रेमवर्क है।
    • CasperJS एक नेविगेशन स्क्रिप्टिंग & फ़ैंटॉमजेएस पर परीक्षण उपयोगिता है, अगर आपको स्क्रैप किए जाने वाले यूआरएल पर थोड़ा अधिक करने की आवश्यकता है।
  • ZombieNode.js

निजी तौर पर के लिए, मैं इस तरह के उत्कृष्ट Selenium IDE विस्तार के रूप में सेलेनियम, जो languagues की एक अच्छी संख्या में स्वचालन स्क्रिप्ट लिखने के लिए समर्थन हासिल है और अधिक परिपक्व टूलींग है, साथ सबसे परिचित हूँ फ़ायरफ़ॉक्स के लिए, जिसे टेस्टकेस लिखने और चलाने के लिए उपयोग किया जा सकता है, और कई भाषाओं में टेस्ट स्क्रिप्ट निर्यात कर सकता है।

1

ध्यान रखें कि जावास्क्रिप्ट फैननेस पृष्ठ के ब्रॉवर के आंतरिक डोम मॉडल से गड़बड़ कर रहा है, और कच्चे HTML के लिए कुछ भी नहीं करता है।

2

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

आमतौर पर, यदि आप एक नौसेना मेनू में उपयोग की जाने वाली विशेष जावास्क्रिप्ट का विश्लेषण करते हैं, तो Navmenu बनाने के लिए उपयोग किए जाने वाले चर के पूरे सेट को खींचने के लिए नियमित अभिव्यक्तियों का उपयोग करना काफी आसान है। मैंने सुंदर सूप का कभी भी उपयोग नहीं किया है, लेकिन आपके विवरण से ऐसा लगता है कि यह केवल HTML तत्वों पर काम कर सकता है और स्क्रिप्ट टैग के अंदर काम करने में सक्षम नहीं है।

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

1

मैं इसके लिए सेलेनियम का उपयोग कर रहा हूं और यह पता चलता है कि यह बहुत अच्छा काम करता है। सेलेनियम ब्राउज़र में चलता है और फ़ायरफ़ॉक्स, वेबकिट और आईई के साथ काम करेगा। http://selenium.openqa.org/

6

HtmlUnit का उपयोग करना भी एक संभावना है।

एचटीएमएलयूनीट " जावा प्रोग्राम के लिए जीयूआई-कम ब्राउज़र" है। यह एचटीएमएल दस्तावेजों का मॉडल करता है और एक एपीआई प्रदान करता है कि आपको पृष्ठों को आमंत्रित करने की अनुमति देता है, फॉर्म भरें, लिंक पर क्लिक करें, आदि ... जैसे आप अपने "सामान्य" ब्राउज़र में करते हैं।

यह काफी अच्छा जावास्क्रिप्ट समर्थन (जो लगातार सुधार हो रहा है) है और काफी जटिल AJAX पुस्तकालयों के साथ भी काम करने के लिए, या तो Firefox या विन्यास का उपयोग करना चाहते पर निर्भर करता है इंटरनेट एक्सप्लोरर का अनुकरण में सक्षम है।

यह आमतौर पर उद्देश्यों के परीक्षण के लिए या वेब साइटों से जानकारी पुनर्प्राप्त करने के लिए उपयोग किया जाता है।

+0

मैं मानता हूं कि HtmlUnit इसके लिए अच्छा है ... और इसे ब्राउज़र चलाने की आवश्यकता नहीं है, इसलिए आप इसे एक स्क्रिप्ट में चिपका सकते हैं और इसे स्वचालित रूप से सर्वर पर चला सकते हैं। –

+0

यह केवल वास्तविक जावास्क्रिप्ट समर्थन स्थान रीडायरेक्ट का पालन कर रहा है। यह स्क्रैपिंग के लिए सहायक नहीं होगा। – Zombies

2

Mozenda भी उपयोग करने के लिए एक शानदार उपकरण है।

4

सेलेनियम अब htmlunit लपेटता है ताकि आपको अब ब्राउज़र शुरू करने की आवश्यकता न हो। नया वेबड्राइवर एपीआई भी उपयोग करना बहुत आसान है। The first example use htmlunit driver

2

आप से Scrape.it

अद्यतन ओपन सोर्स स्क्रीन स्क्रेपर कोशिश कर सकते हैं: 4 अप्रैल से, 2013 Scrape.it स्क्रीन स्क्रैपर github पर खुला स्रोत है।

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

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