Очистите страницы продуктов с веб-сайтов электронной коммерции

#web-scraping #cookies #http-headers #amazon #apache-httpclient-4.x

Вопрос:

Я столкнулся с требованием очистить страницы продуктов некоторых веб-сайтов электронной коммерции в масштабе [25-50 т / с]. Я беру пример обхода страниц продуктов Amazon в качестве примера здесь, чтобы объяснить проблемы, с которыми я сталкиваюсь. API, который я использую для выполнения этой задачи, — это CloseableHttpClient от Apache [на Java]. Сам код работает так, как ожидалось. Но, проводя масштабную проверку, я наткнулся на довольно много капчей и ответов об ошибках 5xx от amazon [в качестве примера]. Я считаю, что этого следует ожидать, поскольку у amazon будет свой собственный механизм защиты от ботов. Чтобы избежать обнаружения в качестве бота, я попытался имитировать поведение различных браузеров [Chrome, Safari, Firefox и т. Д.]. Я рассмотрел следующие параметры, чтобы избежать обнаружения:

  • Прокси
  • Заголовки
  • Файлы cookie
  • Агенты пользователей

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

 GET /Gillette-Fusion-ProGlide-Refills-Cartridge/dp/B072M5FFZ5 HTTP/1.1 Cookie: session-id=147-2327656-3202211; session-id-time=2082787201l; ubid-main=131-1518884-4482131; csm-hit=tb:s-P678SHE1N3JR8AXN19XZ|1635514068722amp;t:1635514070717amp;adb:adblk_no; session-token=XDtHgEvrmW2 5c05J Yo8vjk4yaVAf2 ZpVBtSe8c/1esqV/GGIbrYX8p8iyBqUEuVqzKM7iWhi0FQIh4rO md/5fjJD4Wf7PRcLVMxCFzXlde/OVdPLHmi5Xq /4Mgg2qM t5eSjdyn9rdxv2SJ9vU6wgouHr0MYH3YRBOP/NnspXKQZBA9shS5JCdIwpc3; skin=noskin; i18n-prefs=USD; lc-main=en_US Accept: text/html,application/xhtml xml,application/xml;q=0.9,*/*;q=0.8 Host: www.amazon.com User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.0 Safari/605.1.15 Accept-Language: en-us Accept-Encoding: gzip, deflate, br Connection: keep-alive  

Я использовал пару прокси-серверов [в требуемом регионе], использовал заголовки в том же порядке и в том же случае, как показано выше, использовал список Пользовательских агентов с поведением, аналогичным приведенному выше примеру, и пару предварительно рассчитанных файлов cookie. Несмотря на это, мой показатель успеха составляет 30-35%.

Мои вопросы здесь заключаются в следующем:

  1. Как мне повысить вероятность успеха моих царапин?
  2. Насколько важно добавить файл cookie? Файл cookie, отправляемый Safari, содержит запись csm-хита. Есть ли способ рассчитать это на специальной основе?
  3. Мне не хватает других объектов [кроме заголовков, агентов пользователей и прокси-серверов], которые могли бы повысить мой показатель успеха?

Любая помощь будет признательна.