Я изучаю очистку веб-страниц с использованием запросов и Beautiful Soup с Python3.
Я пытался извлечь информацию с разных веб-сайтов, и у меня не было проблем.
Однако я посетил сайт packtpub.com (https://www.packtpub.com/)), и при отправке запроса с использованием запросов для хранения содержимого всего сайта в переменной я получил следующее сообщение:
import requests
url = 'https://www.packtpub.com/'
req = requests.get(url)
req.raise_for_status()
reqText = req.text
print(reqText)
"requests.exceptions.HTTPError: 403 Client Error: Forbidden for url: https://www.packtpub.com/"
Позже я обыскал все книги Python и отправил запрос, используя URL-адрес первой страницы результатов. https://search.packtpub.com/?query=python&refinementList%5Breleased%5D%5B0%5D=Available
В этом случае я не получил исключения, ноЯ заметил, что содержание в переменной - это еще не все. Я имею в виду, что с помощью инспектора элементов, такого как Mozilla Firefox, я мог получить информацию о заголовках, авторах, формате и т. Д., Но эта информация не была сохранена в моей переменной.
Я думал, что можно извлечь информацию из общедоступного контента любого веб-сайта.
Мои вопросы: Могут ли компании ограничить то, что можно удалить со своих сайтов? Всегда ли разрешено удалятьпубличное содержание веб-сайтов или есть какие-то правовые вопросы, которые следует учитывать?
Меня удивил тот факт, что элементИнспектор сообщил мне весь контент, но библиотека запросов не имеет доступа ко всему этому.