2011-03-26 8 views
15

मैं एक वेब ऐप हैकिंग की प्रक्रिया में हूं जो node.js. में व्यापक स्क्रीन स्क्रैपिंग का उपयोग करता है। मुझे लगता है कि मैं हर कोने में वर्तमान के खिलाफ लड़ रहा हूं। ऐसा करने का एक आसान तरीका होना चाहिए। सबसे विशेष रूप से, दो चीजें परेशान हैं:node.js में स्क्रीन स्क्रैप करने का सबसे शानदार तरीका क्या है?

  1. कुकी प्रचार। मैं प्रतिक्रिया हेडर से 'सेट-कुकी' सरणी खींच सकता हूं, लेकिन सरणी से कुकीज़ को पार्स करने के लिए स्ट्रिंग ऑपरेशंस निष्पादित करना बेहद हैकिश लगता है।

  2. निम्नलिखित पर पुनर्निर्देशित करें। मैं 302 स्टेटस कोड लौटाए जाने पर प्रत्येक अनुरोध को रीडायरेक्ट के माध्यम से पालन करना चाहता हूं।

मैं दो बातें जो उपयोगी देखा भर में आया था, लेकिन मैं अंत में इस्तेमाल कर सकते हैं नहीं:

  • http://zombie.labnotes.org/, लेकिन यह HTTPS नहीं है समर्थन है, इसलिए मैं कर सकते हैं ' इसका इस्तेमाल नहीं करते हैं।

  • http://www.phantomjs.org/, लेकिन इसका उपयोग नहीं कर सका क्योंकि यह node.js. के साथ एकीकृत नहीं होता है। मैं जो कर रहा हूं उसके लिए यह भी भारी हेवीवेट है।

क्या कोई जावास्क्रिप्ट स्क्रीनक्रैपिंग-एस्क्यू पुस्तकालय हैं जो कुकीज़ का प्रचार करते हैं, रीडायरेक्ट का पालन करते हैं, और HTTPS का समर्थन करते हैं? यह आसान बनाने के लिए कोई संकेतक?

+6

सूर्य के नीचे ज़ोंबी और हर दूसरे हेडलेस ब्राउज़र की कोशिश करने के बाद, मैं प्रेत के साथ संयोजन में नोड का उपयोग करके समाप्त हुआ और यह खूबसूरती से काम करता था। आप नोड में स्पॉन विधि का उपयोग करते हैं और प्रेत से प्रतिक्रियाओं को पकड़ते हैं। यह एकमात्र जावास्क्रिप्ट आधारित समाधान है जो मैंने पाया है कि कुकीज़, रीडायरेक्ट, लॉगिन सत्र और उन्नत जावास्क्रिप्ट के साथ कुछ भी काम करता है। मैं जल्द ही एक ब्लॉग पोस्ट कर दूंगा और वापस आऊंगा और टिप्पणी करूंगा। – Clint

+1

भी http://node.io –

उत्तर

3

आप माइकल से https://github.com/mikeal/request देख सकते हैं, मैंने बस उसे चैट रूम से बात की और वह कहता है कि यह इस समय कुकीज़ को संभाल नहीं लेता है लेकिन आप इस दौरान इन्हें संभालने के लिए एक सबमिशन लिख सकते हैं।

संबंध में यह रीडायरेक्ट करने के लिए खूबसूरती से संभालती है :)

+0

कुकी समर्थन मुख्य बात है जिसे मैं ढूंढ रहा हूं। क्या node.js (या एक npm पैकेज) में कोई समर्थन है जो 'सेट-कुकी' सरणी के पार्सिंग को संभालता है, और उपयुक्त हेडर कुकी प्रविष्टि आउटपुट करता है? – Mike

+0

क्या आपने https: // github को देखा है।com/bmeck/node-cookiejar – RobertPitt

+6

मैंने अभी कुकी समर्थन जोड़ा है :) – mikeal

4

मैं वास्तव में अब https://github.com/mikeal/spider एक स्क्रैपर पुस्तकालय है यह काफी अच्छा है, तो आप jQuery और मार्गों का उपयोग कर सकते है।

प्रतिक्रिया का स्वागत करते हैं :)

3

है यह पता चला किसी Node.js के लिए एक phantomjs मॉड्यूल बनाया:

https://github.com/sgentle/phantomjs-node

जबकि प्रेत काफी भारी है, यह भी एसएसएल, कुकीज़, और सब कुछ का समर्थन करता है अन्यथा एक सामान्य ब्राउज़र का समर्थन करता है (क्योंकि यह एक वेबकिट ब्राउज़र है, सब के बाद)।

इसे एक शॉट दें, यह वही हो सकता है जो आप खोज रहे हैं।

+0

अब यह मर चुका है :( –

+0

आपको इसे Phantom.js के पुराने संस्करण के साथ उपयोग करना पड़ सकता है। यहां एक ट्यूटोरियल है: http://net.tutsplus.com/tutorials/javascript-ajax/web-scraping-with-node -js / – Clint

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

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