Не получать данные с сайта розничной торговли, используя Python BeautifulSoup - PullRequest
0 голосов
/ 15 мая 2019

Я пытаюсь пересмотреть цену конкретного сайта. Тот, который я практиковал, чтобы очистить это https://www.harveynorman.com.au/asus-f402wa-ga019t-14-inch-laptop.html

import json
import requests

session = requests.Session()
jar = requests.cookies.RequestsCookieJar()
jar.set('incap_ses_572_39856', 'wuEvYO64IwcG0nzjJijwB+oi3FwAAAAA0mUuBJjlb55z2q8aD0K/Ug==; SLIBeacon=5cdc22e9ece4f; SLIUserID=168578381; __utma=137779881.1422157795.1557930730.1557930730.1557930730.1; __utmc=137779881; __utmz=137779881.1557930730.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); __utmt=1; _gcl_au=1.1.866045692.1557930730; _ga=GA1.3.1422157795.1557930730; _gid=GA1.3.1396003810.1557930731; _caid=067e96e9-dfea-4ff0-bd40-7729d204dc3c; _cavisit=16abbe8672e|; gdprContinent=NOT-EU; SLIBeacon=5cdc22e9ece4f; _fbp=fb.2.1557930734066.1140960424; _hjIncludedInSample=1; inptime0_3986_au=0; com.silverpop.iMAWebCookie=5621042d-8a53-3d48-d144-beb9db181190; com.silverpop.iMA.session=83ab8550-a067-6e50-7239-411cde0ad75d; com.silverpop.iMA.page_visit=-303946284:; reloadLists=true; inpsession_3986_au=03BA299D-6307-61F5-DD5E-F3F561CCA385; __gads=ID=d4a1dce2efb966ac:T=1557930751:S=ALNI_MaarXiiUHzcInDtMvu3BU8YWN9ziw; LPVID=FhMTIwOTc4YzY5N2VjNDhl; LPSID-58902652=tfROAwmpTgu9u-avZulSqg; inptime_3986_au=120; __utmb=137779881.2.10.1557930730; _gat_UA-5631569-15=1; _gat_UA-5631569-18=1')

session.cookies = jar
r = session.get('https://www.harveynorman.com.au/applybuy/apply/product?id=283011&price=297&_=1557930879834')

print(r.text)

Мой ожидаемый результат - найти данные json для использования или весь html. К сожалению, даже при использовании куки я не получаю какие-то данные. Результат был:

<html>
<head>
<META NAME="robots" CONTENT="noindex,nofollow">
<script src="/_Incapsula_Resource?SWJIYLWA=5074a744e2e3d891814e9a2dace20bd4,719d34d31c8e3a6e6fffd425f7e032f3">
</script>
<body>
</body></html>

Нужна помощь, как с этим вопросом без использования селена или скрапа. Спасибо!

1 Ответ

1 голос
/ 16 мая 2019

Этот сайт защищен Анти-ботами (CDN).Incapsula - одна из крупнейших антибот-сетей на рынке.Он использует продвинутые алгоритмы, основанные на ML, чтобы определить, является ли он ботом или человеком на основе множества параметров, включая отпечатки пальцев браузера.

Есть несколько способов, которыми мы можем попробовать подобный сайт,

  1. ИспользованиеПодходящие заголовки, которые олицетворяют браузерЕсть даже несколько предопределенных библиотек, разработанных для обхода брандмауэра, например incapsula-cracker-py3.

    Что бы вы ни пытались, код должен выдавать себя за реального человека.

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