urllib.error. HTTPError: Ошибка HTTP 404: Не Найденный

Код ниже. И я добираюсь "urllib.error. HTTPError: Ошибка HTTP 404: Не Найденный".

import urllib.request
import urllib.parse
headers = {}
headers['User-Agent'] = "Mozilla/5.0 (X11; Linux i686)"
values = {'q': 'python programming tutorials'}
data = urllib.parse.urlencode(values)
url = 'https://www.google.com/search'+data
req = urllib.request.Request(url, headers = headers)
resp = urllib.request.urlopen(req)
resp_data = resp.read()
print(resp_data)
-1
задан 9 October 2019 в 19:16

1 ответ

Ваша проблема состоит в том, что Вы не добавляете data как параметр запроса, обозначенный путем добавления a ? после /search

Вот Ваш измененный код и работа

import urllib.request
import urllib.parse
headers = {}
headers['User-Agent'] = "Mozilla/5.0 (X11; Linux i686)"
values = {'q': 'python programming tutorials'}
data = urllib.parse.urlencode(values)
url = 'https://www.google.com/search?'+data
req = urllib.request.Request(url, headers = headers)
resp = urllib.request.urlopen(req)
resp_data = resp.read()
print(resp_data)

Причем фактическое различие - Ваш url

>>> url
'https://www.google.com/searchq=python+programming+tutorials'

и мой измененный url

>>> url
'https://www.google.com/search?q=python+programming+tutorials'

Нет никакого ресурса, расположенного в https://www.google.com/searchq, и это - причина, которую Вы получаете

urllib.error. HTTPError: Ошибка HTTP 404: Не Найденный

1
ответ дан 22 December 2019 в 00:22

Другие вопросы по тегам:

Похожие вопросы: