python - 值错误: unknown url type: 'url'

标签 python parsing url

import urllib.request
import urllib.parse
import re           #regular equatuions

url = 'http://pythonprogramming.net/'
values = {'s': 'basics',
      'submit':'search'}        #this is how you search on most websites
data = urllib.parse.urlencode(values)
data= data.encode('utf-8')
req = urllib.request.Request('url', 'data')
resp = urllib.request.urlopen(req)
respData = resp.read()

#print(respData)

paragraphs = re.findall(r'<p>(.*?)</p>', str(respData))                     
for eachP in paragraphs:
    print(eachP)

此代码来 self 关注的视频。我不明白为什么它复制后不起作用。我试图理解这个错误,但它们确实有道理。该网址有效,并且是一个真实的网站。以下是我收到的错误消息:

C:\Python34\python.exe "C:/Users/S/PycharmProjects/untitled/Parsing practice.py"
Traceback (most recent call last):
  File "C:/Users/Sean/PycharmProjects/untitled/Parsing practice.py", line 10, in <module>
    req = urllib.request.Request('url', 'data')
  File "C:\Python34\lib\urllib\request.py", line 266, in __init__
    self.full_url = url
  File "C:\Python34\lib\urllib\request.py", line 292, in full_url
    self._parse()
  File "C:\Python34\lib\urllib\request.py", line 321, in _parse
    raise ValueError("unknown url type: %r" % self.full_url)
ValueError: unknown url type: 'url'

我真的不知道这些是什么意思,因为我没有 200 行代码,只有 19 行。

最佳答案

您传入的是字符串 'url',而不是变量:

req = urllib.request.Request('url', 'data')
#                            ^^^^^

这不是可识别的 URL 格式。您的意思是传入变量(不带引号):

req = urllib.request.Request(url, data)

请注意,您对数据执行了相同的操作。

由于您在第 10 行(回溯的前两行)中传递了错误的值,因此在 urllib.request 模块(回溯的其余行)中触发了更深层的问题;该模块确实有 100 行。

关于python - 值错误: unknown url type: 'url' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30921088/

相关文章:

python - “pygame 错误”: font not initialized.。在已使用的字体上?

Python 元素树 "Invalid descendant"错误

javascript - 如何从 JavaScript 对象呈现 HTML 中的嵌套列表?

algorithm - Illegal char 的 URL 是如何工作的?

python - Theano 类型错误 : function() takes at least 1 argument (1 given)

python - Python 中 + (pos) 一元运算符的用途是什么?

php - 读取txt文件并解析文本

python - 如何使用 python 读取和映射 CSV 的多行标题行

css - 在 CSS :before 中添加图标链接

javascript - 纯 html/javascript 中的 PHP $_GET