Urllib отображает синтаксическую ошибку при получении URL от пользователя - PullRequest
1 голос
/ 10 апреля 2020

Я работаю над простой программой очистки веб-страниц в Python, которая собирает имена ссылок в веб-документе, используя urllib и BeautifulSoup.

import urllib
from bs4 import BeautifulSoup

# Not link used in project. Just a sample URL
html = urllib.urlopen('http://stackoverflow.com/index.html').read()
soup = BeautifulSoup(html, 'html.parser')
count = int(input("Enter Count: "))
position = int(input("Enter Position: "))
tags = soup("a")

Когда я набираю URL в виде простой строки в моем коде, как показано выше (в "urllib.urlopen"), все работает отлично.

Но в этом коде:

import urllib
from bs4 import BeautifulSoup

link = str(input("Enter URL: "))
html = urllib.urlopen(link).read()
soup = BeautifulSoup(html, 'html.parser')
count = int(input("Enter Count: "))
position = int(input("Enter Position: "))
tags = soup("a")

Когда я набираю свой ввод, я получаю синтаксическая ошибка из-за двоеточия в URL:

link = str(input("Enter URL: "))
File "<string>", line 1
http:stackoverflow.com
    ^
SyntaxError: invalid syntax

Я понятия не имею, почему двоеточие в URL вызывает синтаксическую ошибку.

Как я могу это исправить?

...