Возможный способ обойти ответ 403 - PullRequest
0 голосов
/ 01 мая 2020

Я пытаюсь собрать данные из таблицы Stockx, в которой есть исторические данные о продажах кроссовок. Когда я создаю оболочку python и проверяю ответ, я получаю следующее: <403 https://stockx.com/adidas-yeezy-boost-350-v2-steeple-grey-beluga-solar-red>. Можно ли как-нибудь обойти 403, чтобы вытащить данные, или я должен найти другой способ сбора данных? Может быть API?

1 Ответ

0 голосов
/ 01 мая 2020

Установка правильных заголовков, кажется, решает проблему. Вы можете использовать scrapy shell для проверки ниже:

url = "https://stockx.com/adidas-yeezy-boost-350-v2-steeple-grey-beluga-solar-red"
headers = {
     'authority': 'stockx.com',
     'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.163 Safari/537.36',
     'sec-fetch-dest': 'document',
     'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
     'sec-fetch-site': 'none',
     'sec-fetch-mode': 'navigate',
     'accept-language': 'en-GB,en;q=0.9,nl-BE;q=0.8,nl;q=0.7,ro-RO;q=0.6,ro;q=0.5,en-US;q=0.4,fr;q=0.3,it;q=0.2',
}
from scrapy import Request
req = Request(url, headers=headers)
fetch(req)
...