2013-08-22 87 views
-2

我想建立一個以Udacity的python類開始的搜索引擎。 在我運行我的程序時,出現了一大堆其他錯誤。有人可以幫助我開始理解所有這些錯誤。建立一個搜索引擎

回溯(最近通話最後一個):

File "E:\Python codes\MySearchEngine.py", line 106, in <module> 
    crawl_web(startPage) 
    File "E:\Python codes\MySearchEngine.py", line 66, in crawl_web 
    linksToFollow = followLinks(toCrawl) 
    File "E:\Python codes\MySearchEngine.py", line 53, in followLinks 
    linkPageContent = get_page(link) 
    File "E:\Python codes\MySearchEngine.py", line 4, in get_page 
    page = urllib2.urlopen(page).read() 
    File "C:\Python27\lib\urllib2.py", line 126, in urlopen 
    return _opener.open(url, data, timeout) 
    File "C:\Python27\lib\urllib2.py", line 392, in open 
    protocol = req.get_type() 
    File "C:\Python27\lib\urllib2.py", line 254, in get_type 
    raise ValueError, "unknown url type: %s" % self.__original 
ValueError: unknown url type: !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en-US"> 
+0

自我的價值是什麼.__原創 – gefei

+0

我是新人,不知道自我.__原創的意思。感謝您試圖幫助。我是新的python – Parousia

回答

0

我想我知道你的問題是什麼,只是因爲我已經在過去發生類似的錯誤我是。你需要指定一個url類型。爲了演示,看看下面的腳本:

from urllib.request import urlopen as u 
u('google.com') 

運行時,這個腳本炸燬出現錯誤:ValueError: unknown url type: google.com,這是你的相同問題。但是,當我將第二行更改爲:

u('http://google.com') 

它工作正常。

所以,我認爲你需要的是添加'http://'或你使用的任何網址類型到self.__original的前面。

+0

是iCodez。我改變了網址格式,實際上我在代碼中看到了一些進步。請給我新的python,所以不要介意我的問題似乎愚蠢。 – Parousia

+0

@Parousia - 當然。我們都必須從某個地方開始。僅僅因爲我們還沒有做過什麼並不意味着我們是愚蠢的。無論如何,如果我的回答正確地解決了你的問題,那麼你應該接受它(點擊勾號)以保持SO清潔和組織。 – iCodez

+0

謝謝@iCodez。我想我會在一段時間內繼續研究代碼。現在我只是試圖獲得Python語言的一個好處理 - 以達到程序員的頓悟。但如果你能幫助我理解「self.__ original」的含義,我會很感激的。 – Parousia