urllib.error.URLError: - PullRequest
       29

urllib.error.URLError:

0 голосов
/ 28 февраля 2019

Здравствуйте, я пытаюсь научиться просматривать веб-страницы.Я установил Anaconda3 в Windows 10. Конда версия 4.5.12.Python версии 3.7.1.

Я написал следующий скрипт, который выдает упомянутую ошибку.

import bs4
from bs4 import BeautifulSoup as soup
from urllib.request import urlopen as request
with request('https://google.com') as response:
    page_html = response.read()
page_soup = soup(page_html, "html.parser")
print(page_soup)

Ошибка была из этой строки:

with request('https://google.com') as response:
...
...
raise URLError('unknown url type: %s' % type)
urllib.error.URLError: <urlopen error unknown url type: https>

Однако, когдаЯ открыл свою подсказку Anaconda и выполнил построчный сценарий, он работал безупречно.
Может ли кто-нибудь помочь мне понять, что пошло не так?Как сделать так, чтобы скрипт запускался из консоли без этой ошибки?

Ответы [ 5 ]

0 голосов
/ 28 июня 2019

У меня была похожая проблема при установке emsdk с установленной Anaconda с рекомендованными настройками.

Я решил следующим образом:

Откройте Anaconda Navigator> Нажмите Среды> Выберите базу (root)> Нажмитезначок воспроизведения> Выберите Открыть терминал> Перейдите в папку сценариев> Запустите сценарий

0 голосов
/ 28 февраля 2019

Я решил проблему, переустановив библиотеку anaconda.В процессе установки я решил установить переменную PATH, хотя это не было рекомендовано.(Так что я не установил PATH первый раз) Итак, я проигнорировал эту рекомендацию.И после этого это сработало.Я не знаю точно, что вызвало проблему в первый раз.Но сейчас это работает.

0 голосов
/ 28 февраля 2019
import ssl
ssl._create_default_https_context = ssl._create_unverified_context

Это способ разрешить непроверенный SSL

0 голосов
/ 28 февраля 2019

Попробуйте следующий код:

import bs4
from bs4 import BeautifulSoup as soup
from urllib.request import urlopen, Request
response = urlopen('https://www.google.com')
page_html = response.read()
page_soup = soup(page_html, "html.parser")
print(page_soup)
0 голосов
/ 28 февраля 2019

Может быть, это работает,

response= request('https://google.com')
page_html = response.read() if response else ""
page_soup = soup(page_html, "html.parser")
print(page_soup)
...