Очистка веб-страниц с использованием python: urlopen возвращает ошибку HTTP 403: запрещено - PullRequest
0 голосов
/ 27 марта 2020

Я пытаюсь загрузить данные с Fragantica.com с помощью urlopen, но возникает ошибка («Ошибка HTTP 403: запрещено») даже после изменения пользовательского агента и добавления заголовков. Я также пробовал код отсюда, но безуспешно (http://wolfprojects.altervista.org/changeua.php#problem).

Вот мой код:

import urllib.request

user_agent = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_2) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.4 Safari/605.1.15'



url = "https://www.fragrantica.com/perfume/Tom-Ford/Tobacco-Vanille-1825.html"
headers={'User-Agent':user_agent,} 

request=urllib.request.Request(url,None,headers) #The assembled request
response = urllib.request.urlopen(request)
data = response.read() # The data u need

Это ошибка, с которой я сталкиваюсь : HTTPError: Ошибка HTTP 403: Запрещено

1 Ответ

0 голосов
/ 27 марта 2020

Возможно, вам потребуется указать больше заголовков, попробуйте это:

import urllib.request    

url = "https://www.fragrantica.com/perfume/Tom-Ford/Tobacco-Vanille-1825.html"
headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_2) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.4 Safari/605.1.15',
       'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
       'Accept-Charset': 'ISO-8859-1,utf-8;q=0.7,*;q=0.3',
       'Accept-Encoding': 'none',
       'Accept-Language': 'en-US,en;q=0.8',
       'Connection': 'keep-alive'} 

request=urllib.request.Request(url=url, headers=headers) #The assembled request
response = urllib.request.urlopen(request)
data = response.read() # The data u need
...