問題一: python 3.x 以上版本攬括了 urllib2,把urllib2 和 urllib 整合到一起。
並且引入模塊變成一個,只有 import urllib
# import urllib # import urllb2 #正確使用 import urllib
所以不能使用 urllib2.urlopen()方法,否則會報錯無此模塊。
NameError: name 'urllib2' is not defined
3.x以上版本 # urllib2.open 不能使用,用urllib.request 模塊 代替urllib2
1 import urllib.request 2 3 response = urllib.request.urlopen('http://www.baidu.com')
問題二: 變量名不能與引入模塊名方法相同,否則會引起錯誤
1 import urllib.request 2 3 #錯誤寫法 4 5 request = urllib.request.urlopen('http://www.baidu.com') 6 7 #否則 TypeError: 'module' object is not callable 8 9 #正確寫法 10 11 rqs = urllib.request.urlopen('http://www.baidu.com')
問題四 print 輸出問題
3.x 版本 print 已經成為一個方法, 輸出任何東西都要需要被 ()括號 包括,不然會出現問題
第一步初步 方法 爬去百度首頁
1 import urllib.request 2 3 rqs = urllib.request.urlopen('http://www.baidu.com') 4 5 html = rqs.read() 6 7 print(html)