簡體   English   中英

ValueError:未知的url類型:'url'

[英]ValueError: unknown url type: '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)

這段代碼來自我跟隨的視頻。 我不明白為什么自復制以來它不起作用。 我試圖理解該錯誤,但它們確實有意義。 該網址有效,並且它是一個真實的網站。 這是我收到的錯誤消息:

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)

請注意,您對data了相同的操作。

因為您在第10行(回溯的前兩行)傳遞了錯誤的值,所以您在urllib.request模塊(回溯的其余行)中更深地觸發了一個問題; 該模塊確實有100條線。

暫無
暫無

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

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