2010-02-08 31 views
20

मैं पृष्ठ पर किसी भी फ़्लैश तत्व के भीतर प्रोग्रामेटिक रूप से किसी बाहरी लिंक को एकत्रित करने के लिए वेबसाइट को स्क्रैप करना चाहता हूं। यदि संभव हो, तो भी मैं कोई अन्य पाठ एकत्र करना चाहूंगा, लेकिन लिंक महत्वपूर्ण हिस्सा हैं। क्या यह संभव है? इस कार्य को पूरा करने के लिए एक फ्रीवेयर लाइब्रेरी/सेवा बेहतर होगी, लेकिन यदि कोई नहीं है, तो मैं अपना काम कैसे पूरा कर सकता हूं? क्या स्रोत कोड प्राप्त करना और उस से खींचना संभव है?क्या मैं फ़्लैश स्क्रैप कर सकता हूं?

उत्तर

10

फ्लैश स्रोत को डीकंपलिंग करने से आपको फ्लैश फ़ाइल का एक्शनस्क्रिप्ट भाग दिखाई देगा, जिसमें मुझे अक्सर लिंक जैसी जानकारी मिलती है।

एक नि: शुल्क डीकंपलर Flare है। यह केवल कमांड लाइन है, और ठीक काम करता है। यह नए फ्लैश प्रारूपों में कुछ जानकारी डीकोड नहीं करेगा (> सीएस 3 मुझे लगता है)। यह सभी एएस को एक फाइल में डंप करता है।

Sothink SWF Decompiler एक अधिक परिष्कृत वाणिज्यिक कार्यक्रम है। यह किसी भी फ्लैश फ़ाइल के साथ ठीक काम करेगा जो मैंने कोशिश की है और परिणाम काफी गहन और व्यवस्थित हैं। यह जीयूआई आधारित है और मुझे नहीं पता कि यह आसानी से स्वचालित है या नहीं।

फ्लेयर के साथ, क्योंकि यह एक कमांड लाइन उपकरण है, कोई भी आसानी से एसडब्ल्यूएफ प्राप्त करने के लिए एक स्क्रिप्ट लिख सकता है, इसे डीकंपाइल कर सकता है, 'http: //' के लिए grep, और परिणामों को लॉग कर सकता है।

+3

फ्लेयर अब मैक के लिए काम नहीं करता है। –

1

बहुत क्रूड पहले चरण के रूप में आप Google का उपयोग SWF से टेक्स्ट स्निपेट प्राप्त करने के लिए कर सकते हैं, यह देखते हुए कि Google द्वारा swf को अनुक्रमित किया गया है और आप इसे यूआरएल जानते हैं। उदाहरण के लिए:

http://www.google.com/search?q=site%3Awww.michaelgraves.com%2Fmga.swf

3

एक फ्लैश से बाहर "बाहरी लिंक" Yanking, के रूप में के रूप में आसान हो सकता है, उदाहरण के लिए:

curl -s http://hostname/path/to/file.swf | strings | grep http 
बेशक

, इस असफल करेंगे लेखक किसी भी प्रयास को प्रभावी हो जाने पर यूआरएल छुपाने के लिए।

वाईएमएमवी बहुत कुछ। सौभाग्य!

+0

कर्ल का आउटपुट बस यादृच्छिक पात्रों का एक गुच्छा जैसा दिखता है, http के रूप में सह-विरोधी के रूप में कुछ भी नहीं। मैंने कर्ल www.michaelgraves.com/mga.swf -o test.txt का इस्तेमाल किया। क्या तार पठनीय पाठ में कनवर्ट करने के लिए कुछ करते हैं? –

+1

'स्ट्रिंग्स 'प्रोग्राम यंक जो बाइनरी डेटा स्ट्रीम से मानव-पठनीय तार हो सकता है। 'Grep'' http' शब्द वाले किसी भी तार को खींच रहा है। आप अधिक उपयोगी आउटपुट ('स्ट्रिंग्स -10': केवल कम से कम 10 वर्णों के आउटपुट स्ट्रिंग्स) – MikeyB

+0

देने के लिए स्ट्रिंग कमांड विकल्पों को संशोधित करने का प्रयास कर सकते हैं, इसलिए यदि फ़ाइल में" http "स्ट्रिंग नहीं है, तो तार नहीं है मुझे यह देने के लिए, सही? –

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