2010-08-20 13 views
13

तो मेरा भाई चाहता था कि मैं पाइथन (स्वयं सिखाया गया) में एक वेब क्रॉलर लिखूं और मुझे सी ++, जावा और कुछ एचटीएमएल पता है। मैं संस्करण 2.7 का उपयोग कर रहा हूं और पाइथन लाइब्रेरी पढ़ रहा हूं, लेकिन मुझे कुछ समस्याएं हैं 1. httplib.HTTPConnection और request मेरे लिए अवधारणा नई है और मुझे समझ में नहीं आता कि यह कुकी या उदाहरण जैसे एचटीएमएल स्क्रिप्ट डाउनलोड करता है या नहीं। यदि आप दोनों को करते हैं, तो क्या आपको वेबसाइट पेज के लिए स्रोत मिलता है? और कुछ शब्द क्या हैं जिन्हें मुझे पृष्ठ को संशोधित करने और संशोधित पृष्ठ को वापस करने के लिए जानने की आवश्यकता होगी।पायथन वेब क्रॉलर और "हो रही" एचटीएमएल स्रोत कोड

बस पृष्ठभूमि के लिए, मैं एक पेज को डाउनलोड करने और लोगों को मैं

है के साथ किसी भी img प्रतिस्थापित करने की आवश्यकता और यह अच्छा होगा अगर आप लोग मुझे 2.7 और 3.1

+0

आप किस पायथन मॉड्यूल या पुस्तकालय का उपयोग कर रहे हैं? आप किस बात के बारे में बात करते हैं? –

+0

@ डेविड - मैंने अपने specfications – danutenshu

उत्तर

37

पायथन 2.7 का उपयोग करें, इस समय अधिक तृतीय पक्ष libs है। (संपादित करें: नीचे देखें)।

मैं आपको stdlib मॉड्यूल urllib2 का उपयोग करने की सलाह देता हूं, यह आपको आसानी से वेब संसाधन प्राप्त करने की अनुमति देगा। उदाहरण:

import urllib2 

response = urllib2.urlopen("http://google.de") 
page_source = response.read() 

कोड पार्स करने के लिए, BeautifulSoup पर एक नजर है।

Btw: वास्तव में क्या आप क्या करना चाहते हैं:

बस पृष्ठभूमि के लिए, मैं एक पेज को डाउनलोड करने और लोगों के साथ किसी भी img प्रतिस्थापित करने की आवश्यकता मैं

संपादित करें: यह 2014 है अब, अधिकांश महत्वपूर्ण पुस्तकालयों को पोर्ट किया गया है, और यदि आप कर सकते हैं तो आपको निश्चित रूप से पायथन 3 का उपयोग करना चाहिए। python-requests एक बहुत ही अच्छी उच्च स्तरीय लाइब्रेरी है जो urllib2 से उपयोग करना आसान है।

+0

बस नाइटपिक करने के लिए, आप 'urlopen' से वापस क्या प्राप्त करते हैं' अनुरोध 'ऑब्जेक्ट नहीं है, यह एक प्रतिक्रिया ऑब्जेक्ट है। – aaronasterling

+0

ओह। धन्यवाद। – leoluk

+0

जैसे कि आप एक Google लोगो देखते हैं, मैकडॉनल्ड्स लोगो के साथ प्रतिस्थापित करें।या यदि आप Google छवियों पर जाते हैं, तो आप अपनी पसंद की एक निश्चित छवि के अलावा कुछ भी नहीं देखते हैं – danutenshu

0

पहली बात यह है की अपनी राय बता सकते हैं आपको HTTP spec पढ़ना है जो बताएगा कि आप तार पर क्या प्राप्त करने की उम्मीद कर सकते हैं। सामग्री के अंदर लौटाया गया डेटा "प्रस्तुत" वेब पेज होगा, न कि स्रोत। स्रोत एक जेएसपी, सर्वलेट, एक सीजीआई स्क्रिप्ट, संक्षेप में, कुछ भी हो सकता है, और आपके पास इसका कोई उपयोग नहीं है। आपको केवल HTML प्राप्त होता है जिसे सर्वर ने आपको भेजा है। एक स्थिर HTML पृष्ठ के मामले में, फिर हाँ, आप "स्रोत" देखेंगे। लेकिन किसी और चीज के लिए आप उत्पन्न HTML देखें, स्रोत नहीं।

जब आप modify the page and return the modified page कहते हैं तो आपका क्या मतलब है?

+0

किसी निश्चित पृष्ठ पर सभी आईएमजी फ़ाइलों के लिए तय किया है, एक नए – danutenshu

+0

के साथ प्रतिस्थापित करें जैसे कि आप एक Google लोगो देखते हैं, मैकडॉनल्ड्स लोगो – danutenshu

+0

के साथ प्रतिस्थापित करें जो लिंक आपने मुझे भेजा है वह बहुत बड़ा है। HTTP के बारे में जानकारी के लिए Google खोज – danutenshu

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