|
|
|
Delphi + HeadLess браузер
|
|||
|---|---|---|---|
|
#18+
BasketbolКопаю в сторону работы Headless Chrome (не CEF). Вот здесь описан "протокол" взаимодействия с Хромом: https://chromedevtools.github.io/devtools-protocol/tot/ Общаюсь с одном человеком - он использует Chrome Headless из Perl (Написал свой класс) Говорит - можно из любой среды работать с ним с помощью неблокирующих сокетов. Но я ващщще не понимаю с чего там начать) Т.е. так то в принципе все понятно: запускаем headless chrome Код: php 1. Дальше общаемся с помощью сокетов по указанному порту. Но какие команды посылать? Как открывать новые вкладки? Как ожидать событие полной загрузки документа? Как идентифицировать и общаться с конкретными вкладками? Как запустить в нем JS скрипт? Как получить вывод JS скрипта? Вообщем - читаю эту документацию - и даже зацепиться не за что)) Я бы посоветовал WebDriver стандарт, т.к. у Хрома свой вариант, а вдруг ты решишь перейти на Фокс, например. Все описание есть на сайте W3C ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2019, 10:44 |
|
||
|
Delphi + HeadLess браузер
|
|||
|---|---|---|---|
|
#18+
В CEF есть такой вот параметр WindowlessRenderingEnabled - может то, что нужно! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2019, 17:20 |
|
||
|
Delphi + HeadLess браузер
|
|||
|---|---|---|---|
|
#18+
CEF3 не поддерживает однопоточный процесс :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2019, 17:22 |
|
||
|
Delphi + HeadLess браузер
|
|||
|---|---|---|---|
|
#18+
BasketbolВ том то и дело, что парсинг непростой. Речь идет о парсинге страниц букмекерских контор. На них каждую секунду меняются коэффициенты. P.S. И не нужно предлагать разбираться в сетевых ГЕТ и ПОСТ запросах. Просто поверьте на слово - это дико сложно. мне интересно, на сколько чаще меняется разметка по сравнению в протоколах? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2019, 17:44 |
|
||
|
Delphi + HeadLess браузер
|
|||
|---|---|---|---|
|
#18+
Я так до конца и не понял, CEF без окна может нормально работать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2019, 11:11 |
|
||
|
Delphi + HeadLess браузер
|
|||
|---|---|---|---|
|
#18+
А вообще правильно выше подсказали -- достаточно обычных запросов, браузер не нужен. Зашел сейчас на первый попавшийся один-xbet, и вот что он запрашивает по таймеру, прямо в json-приходит -- ХАЛЯВА для разработчика, нафиг никакой хром не нужен: https://1xbet.co.nz/LiveFeed/BestGamesExtVZip?count=10&antisports=198&mode=4&country=1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2019, 11:34 |
|
||
|
Delphi + HeadLess браузер
|
|||
|---|---|---|---|
|
#18+
Не достаточно, если сайт использует защиту от ботов и клаудфлэйр :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2019, 11:48 |
|
||
|
Delphi + HeadLess браузер
|
|||
|---|---|---|---|
|
#18+
Выше у одинxbet-а никакой защиты нет. А cloudflare -- это защита от ддоса, стандартные единичные запросы от одного пользователя ей по барабану, даже если в потоке их десятками пускать -- слишком мелко, чтобы заметить и заблочить. В любом случае, если сайт определяет как бота, то решается использованием общей сессии/куков (например, первый запрос уходит на сайт как обычный пользователь, все остальные идут с полученными куками уже к конкретным страницам/апи). Я к тому, что парсинг в 99% случаев решается через обычные http-запросы без использования полноценных браузерных движков. Видел всего несколько сайтов, где чувака заморачивались и кодировали/секретили запросы (у одних была асинхронная система с отправкой, получением результата; у других тупо кодировались данные, у третьих сокеты использовались). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2019, 13:12 |
|
||
|
Delphi + HeadLess браузер
|
|||
|---|---|---|---|
|
#18+
Например, для получение контактов нужно собрать разные коды, а что бы их собрать/сгенерировать, нужно выполнить кучу JS. Поэтому проще уже использовать полноценный браузер. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2019, 13:44 |
|
||
|
Delphi + HeadLess браузер
|
|||
|---|---|---|---|
|
#18+
JaDiЯ к тому, что парсинг в 99% случаев решается через обычные http-запросы тем не менее, а что делать с 1% JaDiВидел всего несколько сайтов, где чувака заморачивались и кодировали/секретили запросы (у одних была асинхронная система с отправкой, получением результата; у других тупо кодировались данные, у третьих сокеты использовались). вот у меня есть таких 2-3 сайта я уверен, что в будущем таких сайтов будет больше, раньше вообще не заморачивались, а сейчас заморачиваются с защитой контактов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2019, 13:47 |
|
||
|
Delphi + HeadLess браузер
|
|||
|---|---|---|---|
|
#18+
JaDiX11, может, см. режим windowless: https://github.com/salvadordf/CEF4Delphi/issues/205 там он рисует что-то сам на панели TBufferPanel. Я о том, что одна и та же страница выполняется по разному с видимым окном и без окна или вот этот 21954002 JS-код не выполняется или JS не видит нужный текст на html-странице я так подразумеваю, что JS в данном случае отладить нельзя :( или узнать, выполняется он или нет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2019, 14:12 |
|
||
|
Delphi + HeadLess браузер
|
|||
|---|---|---|---|
|
#18+
JaDiX11, может, см. режим windowless: https://github.com/salvadordf/CEF4Delphi/issues/205 Я правильно понимаю, что сообщения из процесса рендеринга отправляются в главный поток приложения Код: pascal 1. 2. 3. 4. 5. поэтому если всё будет крутиться в дополнительном потоке, то этот дополнительный поток, в котором будет работать Chromium1ProcessMessageReceived() ничего не получит? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2019, 14:25 |
|
||
|
Delphi + HeadLess браузер
|
|||
|---|---|---|---|
|
#18+
сейчас тему одну вяло изучаю: есть такой продукт Selenium ( вики ) для выполнения автоматисированных тестов веб-страниц. Эта штука использует запущенный в фоне headless-браузер PhantomJS ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2019, 14:28 |
|
||
|
Delphi + HeadLess браузер
|
|||
|---|---|---|---|
|
#18+
P.S. Download PhantomJS - для Windows: весь браузер состоит из одного EXE'шника "phantomjs.exe" без зависимостей, весом 17Мб ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2019, 14:33 |
|
||
|
Delphi + HeadLess браузер
|
|||
|---|---|---|---|
|
#18+
Даже для авито есть алгоритмы по вытаскиванию номеров телефонов -- главное, заморочиться и поискать/раздебажить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2019, 14:34 |
|
||
|
Delphi + HeadLess браузер
|
|||
|---|---|---|---|
|
#18+
JaDi,там пока что с Авито нет особых проблем :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2019, 15:26 |
|
||
|
Delphi + HeadLess браузер
|
|||
|---|---|---|---|
|
#18+
Фантом был шикарен, но умер. Теперь на него закладываться нельзя, учитывая, как сейчас меняется стандарт веба. Уже сталкивался с сайтами, которые на нем ломаются. Остается смотреть в сторону полноценных браузеров в headless режиме ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2019, 19:23 |
|
||
|
Delphi + HeadLess браузер
|
|||
|---|---|---|---|
|
#18+
Василий 2Остается смотреть в сторону полноценных браузеров в headless режиме Например, каких? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2019, 20:33 |
|
||
|
Delphi + HeadLess браузер
|
|||
|---|---|---|---|
|
#18+
ziv-2014, Например CEF4Delphi. Я проверил - работает без панели, где отрисовывается визуальный контент. Не проверял, как будет работать в отдельном дополнительном потоке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2019, 11:41 |
|
||
|
Delphi + HeadLess браузер
|
|||
|---|---|---|---|
|
#18+
ziv-2014Василий 2Остается смотреть в сторону полноценных браузеров в headless режиме Например, каких? Опера, Хром, Фокс. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2019, 21:15 |
|
||
|
Delphi + HeadLess браузер
|
|||
|---|---|---|---|
|
#18+
Basketbol Для меня странно, что уже существуют обертки для PHP, NODE.JS, PYTHON и др. языки и среды, а для Delphi еще нет... Что странного? Delphi не нужен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2019, 12:12 |
|
||
|
Delphi + HeadLess браузер
|
|||
|---|---|---|---|
|
#18+
Basketbol, Тебе нужен Selenium WebDriver, если ты так не хочешь парсить api букмекера. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2019, 12:14 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39818416&tid=2038794]: |
0ms |
get settings: |
6ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
185ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
| others: | 200ms |
| total: | 457ms |

| 0 / 0 |
