Код ниже. И я добираюсь "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)
Ваша проблема состоит в том, что Вы не добавляете 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: Не Найденный