2012-12-19 18 views
19

का उपयोग करके गतिशील रूप से जेनरेट किए गए वेब पेजों को पढ़ना मैं पाइथन और सुंदर सूप का उपयोग करके एक वेब साइट को स्क्रैप करने की कोशिश कर रहा हूं। मुझे सामना करना पड़ा कि कुछ साइटों में, ब्राउज़र लिंक पर देखा गया छवि लिंक स्रोत कोड में नहीं देखा जा सकता है। हालांकि क्रोम इंस्पेक्ट या फिडलर का उपयोग करने पर, हम संबंधित कोड देख सकते हैं। मैं स्रोत कोड में क्या देखते है:पाइथन

<div id="cntnt"></div> 

लेकिन क्रोम पर निरीक्षण करें, मैं HTML \ सीएसएस इस div class के भीतर उत्पन्न कोड की एक पूरी गुच्छा देख सकते हैं। क्या पाइथन के भीतर जेनरेट की गई सामग्री को लोड करने का कोई तरीका है? मैं अजगर में नियमित urllib का उपयोग कर रहा हूँ और मैं स्रोत प्राप्त करने में सक्षम हूं लेकिन उत्पन्न भाग के बिना।

मैं एक वेब डेवलपर नहीं हूं इसलिए मैं बेहतर शर्तों में व्यवहार व्यक्त करने में सक्षम नहीं हूं। अगर मेरा प्रश्न अस्पष्ट लगता है तो कृपया स्पष्ट करने के लिए स्वतंत्र महसूस करें!

+7

वेबसाइट की सामग्री जावास्क्रिप्ट के माध्यम से लोड के बाद उत्पन्न की जा सकती है, इसलिए इस उत्तर का संदर्भ लें -> http://stackoverflow.com/questions/8960288/get-page-generated-with-javascript-in-python – ppsreejith

+0

कैन आप यूआरएल प्रश्न में प्रदान करते हैं? – jdotjdot

उत्तर

12

करने के लिए आपको जावास्क्रिप्ट इंजन पार्स और पेज के अंदर जावा स्क्रिप्ट कोड चलाने की आवश्यकता प्राप्त करने के लिए। नेतृत्वहीन ब्राउज़रों का एक समूह है कि आप मदद कर सकते हैं कर रहे हैं

http://code.google.com/p/spynner/

http://phantomjs.org/

http://zombie.labnotes.org/

http://github.com/ryanpetrello/python-zombie

http://jeanphix.me/Ghost.py/

http://webscraping.com/blog/Scraping-JavaScript-webpages-with-webkit/

+0

मैं भी PyQt4 'http://wiki.python.org/moin/PyQt4' जोड़ूंगा – Vor

5

वेबसाइट की सामग्री, जावास्क्रिप्ट के माध्यम से लोड के बाद उत्पन्न किया जा सकता है क्रम अजगर के माध्यम से उत्पन्न स्क्रिप्ट का उल्लेख this answer

+2

का निदान करने में सहायता करेगा, जबकि यह लिंक प्रश्न का उत्तर दे सकता है, यहां उत्तर के आवश्यक हिस्सों को शामिल करना बेहतर है और संदर्भ के लिए लिंक प्रदान करना बेहतर है। लिंक किए गए पृष्ठ में परिवर्तन होने पर लिंक-केवल उत्तर अमान्य हो सकते हैं। - [समीक्षा से] (/ समीक्षा/कम गुणवत्ता वाली पोस्ट/18007370) – Rabbid76