#python #web-scraping #scrapy
Вопрос:
Я начал использовать Scrapy
его недавно.
Я использовал приведенный ниже код в командной строке
scrapy shell https://website.com/portal/login
а затем я ввожу ниже
response.css('::text')
выход
[<Selector xpath='descendant-or-self::text()' data='Transferring to the website...'>, <Selector xpath='descendant-or-self::text()' data=' در ﺣﺎل اﻧﺘﻘﺎل ﺑﻪ ﺳﺎﯾﺖ ﻣﻮرد ﻧﻈﺮ ﻫﺴﺘﯿﺪ...'>, <Selector xpath='descendant-or-self::text()' data='var _this = this;nn function _typeof...'>]
Когда я использую веб-браузер(и выше с помощью scrapy), перед тем как появится страница входа, открывается другая страница с transferring to the website...
сообщением в центре.
Мой вопрос в том, как я могу это предотвратить? Как я могу пропустить эту страницу загрузки, и когда я ввел login url
scrapy shell
команду «Войти», я получаю страницу входа вместо страницы загрузки?
Комментарии:
1. эти страницы загрузки обычно с серверов CDN или из аналогичных систем защиты от ботов, вы не можете пропустить их напрямую, они отправляют некоторый код javascript, чтобы определить, запрашивает ли браузер данные или нет. Решить головоломку JS с помощью python может быть сложно. Я предлагаю использовать селен, если вы можете.
2. @jenishSakhiya Возможно ли это в BeautifulSoup?
3. Я не думаю, что это так, поскольку BeautifulSoup не имеет значения, когда дело доходит до выполнения javascript, насколько я знаю, он анализирует только HTML DOM.