तो मेरे पास यह कोड है:

def crawl(self, url):
    data = urllib.request.urlopen(url)
    print(data)

लेकिन फिर जब मैं फ़ंक्शन को कॉल करता हूं, तो यह वापस आ जाता है

    data = urllib.request.urlopen(url)
AttributeError: 'module' object has no attribute 'request'

मैने गलत क्या किया? मैंने पहले ही urllib आयात कर लिया है ..

अजगर 3.1.3 . का उपयोग करना

2
kamikaze_pilot 3 मार्च 2011, 08:58

2 जवाब

सबसे बढ़िया उत्तर

Python3 में, urllib अपने संबंधित उद्देश्यों के लिए तीन मॉड्यूल अनुरोध, प्रतिक्रिया और त्रुटि वाला एक पैकेज है।

जब भी आपके पास Python2 में import urllib या import urllib2 था। उनके साथ बदलें

import urllib.request
import urllib.response
import urllib.error

कक्षाएं और विधियां समान हैं।

यदि आप python2 से python3 में कनवर्ट कर रहे हैं, तो BTW, 2to3 टूल का उपयोग करें।

9
Senthil Kumaran 3 मार्च 2011, 09:26

urllib.request एक अलग मॉड्यूल है; इसे स्पष्ट रूप से आयात करें।

2
Ignacio Vazquez-Abrams 3 मार्च 2011, 09:01