如何在urllib2中修复"未知的url类型错误"

2024-09-30 16:22:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图从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">

Tags: inpyurlgetlibtype错误line
1条回答
网友
1楼 · 发布于 2024-09-30 16:22:07

我想我知道你的问题是什么,这只是因为我过去也犯过类似的错误。您需要指定url类型。要演示,请看下面的脚本:

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

运行时,这个小脚本会出现错误:ValueError: unknown url type: google.com,这就是您的问题。但是,当我将第二行改为:

^{pr2}$

它工作得很好。在

所以,我认为您需要将'http://'或您使用的任何url类型添加到self.__original的前面。在

相关问题 更多 >