Почему Запрос не работает с указанным c URL? - PullRequest
0 голосов
/ 20 февраля 2020

У меня есть вопрос о модуле запросов: Python.

До сих пор я использовал это для очистки, и он работает хорошо.

Однако, когда я делаю это против одного определенный веб-сайт (код ниже - и обратитесь к снимку Jupyter Notebook), он просто не хочет завершать задачу (показывая [*] навсегда).

from bs4 import BeautifulSoup
import requests
import pandas as pd
import json

page = requests.get('https://www.stoneisland.com/ca/stone-island-shadow-project/coats-jackets', verify = False)

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

Некоторые пользователи также предлагают использовать такие заголовки, как ниже, чтобы ускорить его, но это не работает и для меня:

url = 'https://www.stoneisland.com/ca/stone-island-shadow-project/coats-jackets'

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

req = requests.get(url = url, headers = headers)

Не уверен, что происходит (это впервые для меня), но я могу упустить что-то очевидное. Если кто-то может объяснить, почему это не работает? Или, если он работает на вашем компьютере, сообщите мне!

weird_requests

1 Ответ

0 голосов
/ 20 февраля 2020

Страница пытается добавить повара ie при первом посещении. Использование модуля запросов и отсутствие указания повара ie лишит вас возможности подключиться к странице.

Я изменил ваш скрипт, добавив в него моего повара ie, который должен работать - если он нет, скопируйте ваш повар ie (для этого домена хоста) из браузера в скрипт.

url = 'https://www.stoneisland.com/ca/stone-island-shadow-project/coats-jackets'

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

cookies = {
    'TS01e58ec0': '01a1c9e334eb0b8b191d36d0da302b2bca8927a0ffd2565884aff3ce69db2486850b7fb8e283001c711cc882a8d1f749838ff59d3d'
}

req = requests.get(url = url, headers = headers, cookies=cookies)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...