簡體   English   中英

ValueError:未知的url類型

[英]ValueError: unknown url type

標題基本概括了所有內容。 這是我的代碼:

from urllib2 import urlopen as getpage
print = getpage("www.radioreference.com/apps/audio/?ctid=5586")

這是我得到的追溯錯誤:

Traceback (most recent call last):
  File "C:/Users/**/Dropbox/Dev/ComServ/citetest.py", line 2, in <module>
    contents = getpage("www.radioreference.com/apps/audio/?ctid=5586")
  File "C:\Python25\lib\urllib2.py", line 121, in urlopen
    return _opener.open(url, data)
  File "C:\Python25\lib\urllib2.py", line 366, in open
    protocol = req.get_type()
  File "C:\Python25\lib\urllib2.py", line 241, in get_type
    raise ValueError, "unknown url type: %s" % self.__original
ValueError: unknown url type: www.radioreference.com/apps/audio/?ctid=5586

我最好的猜測是urllib無法從不整潔的php URL中檢索數據。 如果是這種情況,是否有解決方法? 如果沒有,我做錯了什么?

您應該首先嘗試在網址前面添加'http://' 另外, 不要的結果存儲在print ,因為它結合參考另一(非可調用)對象

所以這一行應該是:

page_contents = getpage("http://www.radioreference.com/apps/audio/?ctid=5586")

這將返回像object這樣的文件。 要讀取其內容,您需要使用不同的文件操作方法,如下所示:

for line in page_contents.readlines():
    print line

您需要傳遞完整的URL:即它必須以http://開頭。

只需使用http://www.radioreference.com/apps/audio/?ctid=5586 ,它就可以正常使用。

In [24]: from urllib2 import urlopen as getpage

In [26]: print getpage("http://www.radioreference.com/apps/audio/?ctid=5586")
<addinfourl at 173987116 whose fp = <socket._fileobject object at 0xa5eb6ac>>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM