Устранение проблем с ошибкой парсера, возникающих при парсинге данных с помощью Selenium.

Я создал парсер более года назад и пересмотрел его, когда новому клиенту понадобились те же базовые данные. Однако, когда я попытался очистить данные с помощью Selenium, парсер не удался. Я знаю, что иногда это происходит, когда теги xpath меняются, и простое обновление этих тегов устраняет проблему. К сожалению, это не так. Кстати, если бы я зашел сразу на сайт вручную, то смог бы посмотреть информацию.

Сначала я растерялся и сдался — не совсем. Я подумал, ничего себе, я больше не могу парсить этот сайт. Затем я попытался получить данные с помощью BeautifulSoup и запросов, и все равно ничего. Затем я использовал пакет под названием cloudcraper. Этот пакет почти работал, но я получил содержимое JavaScript на странице, но не фактическое содержимое. Поэтому я решил провести еще немного исследований, чтобы преодолеть эту проблему, которая мешала мне извлекать данные.

Наконец, я обнаружил, что добавление следующих опций для моей реализации парсера решило мои проблемы:

ser = Service("C:\\users\\denni\documents\Python Scripts\\ucc\\chromedriver.exe")
options = webdriver.ChromeOptions()
options.add_experimental_option("excludeSwitches", ["enable-automation"])
options.add_experimental_option('useAutomationExtension', False)
options.add_argument("--disable-blink-features=AutomationControlled")
driver=uc.Chrome(executable_path=r"C:\chromedriver.exe",chrome_options=ops)
driver = webdriver.Chrome(service=ser, options=options)

Я использовал эти параметры с Chromedriver. Возможно, вы могли бы заставить его работать с другими драйверами, но я не пытался это сделать, так как это решило мои проблемы. Обычно я предпочитаю Firefox в наши дни для веб-скрейпинга, потому что он обычно работает лучше всего и его проще использовать, так как мне не нужно вызывать Сервис для Firefox. Однако мы должны идти туда, куда ведет нас решение, и для таких случаев, как этот, я использую Firefox.

Дополнительные материалы на PlainEnglish.io. Подпишитесь на нашу бесплатную еженедельную рассылку новостей. Подпишитесь на нас в Twitter и LinkedIn. Присоединяйтесь к нашему сообществу Discord.