Stockx.com блокирует веб-сканирование? - PullRequest
0 голосов
/ 18 июня 2020

Я пытаюсь очистить веб-страницу от «https://stockx.com/» в bs4, но получаю urllib.error.HTTPError: HTTP Error 403: Forbidden. В любом случае я могу это исправить?

from urllib.request import urlopen as uReq

from bs4 import BeautifulSoup as soup

my_url = "https://stockx.com/"

uClient = uReq(my_url)

Ответы [ 2 ]

2 голосов
/ 18 июня 2020

передача заголовка useragent, похоже, решает проблему.

попробуйте что-нибудь вроде этого:

from urllib.request import urlopen as uReq, Request
from bs4 import BeautifulSoup as soup

my_url = "https://stockx.com/"

headers = {"User-Agent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.3"}

uClient = uReq(Request(url=my_url, headers=headers))

Но знайте, что если данные, которые вы пытаетесь удалить, являются динамическими c, bs4 вряд ли помогут. рассмотрите возможность использования pyppeteer или selenium, и т.д. c .. для этого.

0 голосов
/ 18 июня 2020

Используйте scrapy, он снова попытается запросить сайт и будет следовать перенаправлениям.

...