Python Selenium Webdriver: urlretrieve не сохраняет изображение - PullRequest
0 голосов
/ 13 февраля 2020

Я пытаюсь сохранить изображение с веб-страницы с помощью веб-драйвера selenium. Вот мой код:

driver.get('https://www.doc.govt.nz/parks-and-recreation/places-to-go/otago/places/dunedin-area/?tab-id=50578')
driver.implicitly_wait(20)
driver.execute_script("window.scrollTo(0, document.body.scrollHeight)")
time.sleep(3)
parentElement = driver.find_element_by_class_name('profileRepeater')

for listItemElement in parentElement.find_elements_by_tag_name('li'):
   img = listItemElement.find_element_by_class_name('profile-image').get_attribute('src')
   urlretrieve(img, "local-filename.jpg")

Однако он выдает следующую ошибку:

Traceback (most recent call last):
  File "<stdin>", line 9, in <module>
  File "/Users/yasirmuhammad/anaconda3/lib/python3.6/urllib/request.py", line 248, in urlretrieve
    with contextlib.closing(urlopen(url, data)) as fp:
  File "/Users/yasirmuhammad/anaconda3/lib/python3.6/urllib/request.py", line 223, in urlopen
    return opener.open(url, data, timeout)
  File "/Users/yasirmuhammad/anaconda3/lib/python3.6/urllib/request.py", line 532, in open
    response = meth(req, response)
  File "/Users/yasirmuhammad/anaconda3/lib/python3.6/urllib/request.py", line 642, in http_response
    'http', request, response, code, msg, hdrs)
  File "/Users/yasirmuhammad/anaconda3/lib/python3.6/urllib/request.py", line 570, in error
    return self._call_chain(*args)
  File "/Users/yasirmuhammad/anaconda3/lib/python3.6/urllib/request.py", line 504, in _call_chain
    result = func(*args)
  File "/Users/yasirmuhammad/anaconda3/lib/python3.6/urllib/request.py", line 650, in http_error_default
    raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 403: Forbidden

Мой веб-браузер Chrome. Я проследовал за существующим потоком Ошибка HTTP 403: Запрещено с помощью urlretrieve , но это не могло решить мою проблему. Не могли бы вы помочь мне решить проблему? Есть ли другой способ загрузить изображение?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...