Отправка запросов в Python возвращает None при попытке очистить веб-страницу Specifi c - PullRequest
0 голосов
/ 29 марта 2020
shoe = input('Shoe name: ')

URL = 'https://stockx.com/search?s='+shoe

page = requests.get(URL, headers= headers)

soup = BeautifulSoup(page.content, 'html.parser')

time.sleep(2) #this was to ensure the webpage was having enough time to load so that it wouldn't try to scrape a prematurely loaded website. 

test = soup.find(class_ = 'BrowseSearchDescription__SearchConfirmation-sc-1mt8qyd-1 dcjzxm')

print(test) #returns none
print(URL) #prings the URL (which is the correct URL of the website I'm attempting to scrape)

Я понимаю, что я мог бы легко сделать это с Selenium, однако, это очень неэффективно, так как загружает вкладку chrome и переходит на веб-страницу. Я пытаюсь сделать это эффективным, и мой оригинальный «прототип» действительно использовал Selenium, однако он всегда определялся как бот, и весь мой код был остановлен капчами. Я делаю что-то неправильно, из-за чего код возвращает 'None' или указанная c веб-страница неразборчива. Если вам нужно, укажите c URL-адрес https://stockx.com/search?s=yeezy

1 Ответ

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

Я попробовал ваш код, и вот результат.

Код

shoe = 'yeezy'
URL = 'https://stockx.com/search?s='+shoe
page = requests.get(URL)
soup = bs.BeautifulSoup(page.content, 'html.parser')

И когда я вижу, что внутри soup, вот результат .

Результат

..
..

<div id="px-captcha">
</div>
<p> Access to this page has been denied because 
    we believe you are using automation tools to browse the website.</p>

..
..

Да, я думаю, разработчики не хотели, чтобы сайт был удален.

...