Я пытаюсь получить некоторые изображения Google через python, однако, когда я пытаюсь прочитать ответ json с сервера, я получаю сообщение об ошибке, сообщающее, что объект должен быть str вместо байтов.
На самом деле, я попытался решить проблему, преобразовав ответ сервера в str, расшифровав его (utf-8). Я получаю еще одну ошибку, сообщающую мне «Ожидаемое значение: строка 1, столбец 1 (символ 0)»
Вот что я сделал
1. Я ищу ЧЕРНЫЕ РУБАШКИ в Google и нажимаю на изображение рубрики. Я скопировал URL.
2. Я создаю заголовки, где сообщаю, что пользовательский агент является хромом (чтобы не блокироваться при отправке запроса на сервер)
3. Я создаю запрос
4. Прочитал запрос
5. когда я пытаюсь загрузить это, я получил проблему, упомянутую выше. Поэтому я попытался декодировать вывод шага 4 (добавив этот .decode ('utf-8') .
Вот код, который я использовал
import os
import urllib.request as ulib
import urllib.parse
import json
headers = {'User-Agent': 'Chrome/41.0.2228.0 Safari/537.36'}
url = 'https://www.google.com/search?q=BLACK+SHIRTS&source=lnms&tbm=isch&sa=X&ved=0ahUKEwiS2NPpxPbbAhWlMewKHSpiC9IQ_AUICygC&biw=1600&bih=794' ## this is the url when i searched
request = ulib.Request(url, None, headers)
json_string = ulib.urlopen(request).read()
json_string=json_string.decode('utf-8')
page = json.loads(json_string)
PS: удалить .decode ('utf-8') с 4-го шага (соответствует строке перед последним)