1. 程式人生 > >AttributeError: module 'urllib' has no attribute 'urlopen'

AttributeError: module 'urllib' has no attribute 'urlopen'

  1. #!/usr/bin/python
  2. # -*- coding: UTF-8 -*-
  3. import urllib  
  4. def getHtml(url):  
  5.     page = urllib.urlopen(url).read()  
  6.     html=page.read()  
  7.     return html  
  8. url="http://tieba.baidu.com/p/4040087257/"
  9. html=getHtml(url)  
  10. print(html)  

報錯:

 “AttributeError: 'module' object has no attribute 'urlopen'”

原因是Python3裡的urllib模組已經發生改變,此處的urllib都應該改成urllib.request。

[python] view plain copy  print?
  1. #!/usr/bin/python
  2. # -*- coding: UTF-8 -*-
  3. import urllib.request  
  4. def getHtml(url):  
  5.     page = urllib.request.urlopen(url)  
  6.     html=page.read()  
  7.     return html  
  8. url="http://tieba.baidu.com/p/4040087257/"
  9. html=getHtml(url)  
  10. print(html)  

執行成功!

[python] view plain
 copy  print?
  1. def getImg(html):  
  2.     reg = r'src="(.+?\.jpg)" pic_ext'
  3.     imgre=re.compile(reg)  
  4.     imglist = re.findall(imgre,html)  
  5.     return imglist  

報錯:    TypeError: can't use a string pattern on a bytes-like object

原因為Python3 findall資料型別用bytes型別,因此在正則表示式前應新增html = html.decode('utf-8')

相關推薦

Python3.X出現AttributeError: module 'urllib' has no attribute 'urlopen'錯誤

研究用Python寫爬蟲,下載一個網頁。報錯程式碼如下 import urllib def getHtml(url): page = urllib.urlopen(url) html = page.read() return html html

AttributeError: module 'urllib' has no attribute 'urlopen'

#!/usr/bin/python # -*- coding: UTF-8 -*- import urllib   def getHtml(url):       page = urllib.urlopen(url).read()       html=page.rea

AttributeError: 'module' object has no attribute 'urlopen'

編譯環境:python 3.1.2 測試程式: # coding = utf-8 import urllib def getHtml(url):     page = urllib.

Python 3.x中使用urllib出現AttributeError: module 'urllib' has no attribute 'request'錯誤

剛剛開始學習爬蟲,開始寫部落格打算把錯誤記錄下來,已杜自己忘記,並給同樣的小白幫助python 3.x中urllib庫和urilib2庫合併成了urllib庫,python3.X中應該使用urllib.request,即替換掉(python中的)urllib2成urllib.

python3.x module 'urllib' has no attribute 'urlopen' 或 ‘urlencode’問題解決方法

問題最近在使用Python的第三方模組 urllib 中的urlencode方法將字典編碼,用於提交資料給url等操作,發現urllib 下並沒有urlencode 和openurl,原來是因為在python3和python2下urllib模組中提供的urlencode 和o

關於 AttributeError: module 'urllib' has no attribute 'request' 的引包範圍問題

今天在使用python進行爬蟲的時候,遇到了一個小問題:AttributeError: module 'urllib' has no attribute 'request' AttributeError: module 'urllib' has no attribute 'p

python3:AttributeError: module 'urllib' has no attribute 'quote'

python2 與python3版本不相容的問題真是讓人詬病,現在又報錯了,我的錯誤資訊為: Traceback (most recent call last): File "/Users/eri

針對AttributeError: ‘module’ object has no attribute’xxx’的錯誤歸類

找不到 with 類型 error: 開頭 -a 發現 使用 def 目前遇見的有三種類型: 拼寫錯誤,模塊一定要拼寫錯誤,這個也是最容易犯的,發現找不到模塊的時候,最好先檢查一遍自己引入的模塊拼寫尤其是那些名字非常長的比如HTTPPasswordMgrWithDefau

Python 在import時明明寫的正確,卻提示錯誤AttributeError: module 'test003' has no attribute 'desc'

在自己寫一個小專案的時候,發現明明自己使用import引入自己專案中的另一個Python檔案是正確的寫法,在執行的時候卻發現總是提示錯誤。因為筆者本人也是學習Python不久,經過一個小時的琢磨,感覺應該是兩個檔案迴圈引用導致錯誤。比如一個a.py在使用的時候需要引用b.py

AttributeError: module 'pip' has no attribute 'main'

Pycharm在執行pip安裝模組是報錯如下: 解決方法: 找到安裝路徑下的packaging_tool.py檔案修改如下: 我的路徑為D:\Program Files\JetBrains\PyCharm 2017.2.3\helpers\packaging_tool.py 原先: 修改後儲

python AttributeError module 'string' has no attribute 'upp

                Traceback (most recent call last):  File "Test1.py", line 8, in <module>    upperletters = string.uppercaseAttributeError: module 'st

docker tvm :AttributeError: module 'tvm' has no attribute 'testing'

最近在搞tvm [官網:https://tvm.ai/], 我採用的docker的方式來快速入手的, 總體來說很簡單: 1. 獲取docker映象 sudo docker pull tvmai/demo-gpu 2. 執行docker映象, 注意這裡我們使用了GPU,

AttributeError: module 'requests' has no attribute 'Session'

AttributeError: module ‘requests’ has no attribute 'Session’ #使用requests執行人人網的登入和訪問會員中心並爬取資訊 import requests import re,time #獲取可以

python AttributeError: 'module' object has no attribute 'setdefaultencoding'

window下使用python,AttributeError: 'module' object has no attribute 'setdefaultencoding'問題的解決方法 參閱了http://www.jb51.net/article/54159.htm後進行整

AttributeError: 'module' object has no attribute 'post'問題

在學習python網頁爬蟲時,測試requests的post方法進行表單提交時,命名.py檔案為requests.py 程式碼如下: import requests params={'firstname':'xing','lastname':'ming'

Python指令碼報錯AttributeError: ‘module’ object has no attribute’xxx’解決方法

最近在編寫Python指令碼過程中遇到一個問題比較奇怪:Python指令碼完全正常沒問題,但執行總報錯"AttributeError: 'module' object has no attribute 'xxx'"。這其實是.pyc檔案存在問題。 問題定位:

Python3異常-AttributeError: module 'sys' has no attribute 'setdefaultencoding'

基於python3.6.1版本,在一個.py檔案中,加入這3行: import requests, re, sys reload(sys) sys.setdefaultencoding("utf-8"

Python基礎學習-'module' object has no attribute 'urlopen'解決方法

參考“http://blog.sina.com.cn/s/blog_5cf74e410102uxsg.html” 用的是python 3.4 非常簡單的一小段程式碼 #!/usr/bin/python # -*- coding: UTF-8 -*- import ur

[python錯誤]builtins.AttributeError: 'module' object has no attribute 'request'

在python3.4.3版本下,使用wingIDE寫爬蟲的時候, 發生了builtins.AttributeError: 'module' object has no attribute 'request'的錯誤。 錯誤來源是程式碼中的 <span style="fo

報錯 AttributeError: 'module' object has no attribute 'bool_'

在使用import numpy時突然出現如下報錯: 出現AttributeError: ‘module’ object has no attribute ‘bool_’報錯. 解決辦法: **因為昨晚安裝caffe,但make報錯就沒有繼續,電腦裡已安