Проблема очистки сайта с помощью Beautifulsoup - PullRequest
0 голосов
/ 03 апреля 2020

Я пытаюсь очистить информацию от www.instacart.com с помощью Beautifulsoup. Вот мой код:

import requests
from bs4 import BeautifulSoup

session = requests.Session()
response = session.get('https://www.instacart.com')

content = BeautifulSoup(response.text, "html.parser")

print (content)

Я использую Session, потому что я планировал сделать авторизованный запрос позже. Этот код работает нормально для всех сайтов, которые я пробовал, но не для instacart, который по какой-то причине просто печатает «Очень жаль». в моей консоли VSCode. Это моя первая попытка Python и поиск этой конкретной ошибки. Кто-нибудь может помочь?

Ответы [ 2 ]

0 голосов
/ 03 апреля 2020

Чтобы заставить сервер думать, что ваш скрипт не робот, просто используйте user-agent header.
Напомните, что они могут заблокировать ваш IP, если вы преувеличиваете с I / O

import requests

session = requests.Session()
header = {'user-agent': "I'm tricking you"}
response = requests.get('https://www.instacart.com', headers=header)
print(response.text)
0 голосов
/ 03 апреля 2020

На некоторых веб-сайтах запрещена утилизация, и Instacart может быть одним из них.

На основании условий Instacart, которые вы можете прочитать здесь ,

... ... Вы можете получить доступ к Услугам только через интерфейсы, которые Instacart предоставляет для этой цели (например, вы не можете «скрести» Услуги с помощью автоматических средств или «обрамить» любую часть услуг) ... ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...