|
|
|
CEF4Delphi в потоке с внешней формой
|
|||
|---|---|---|---|
|
#18+
X11, Сформулируй задачу! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2019, 16:01 |
|
||
|
CEF4Delphi в потоке с внешней формой
|
|||
|---|---|---|---|
|
#18+
Парсинг сайта в отдельном потоке с использованием Cef4Delphi без дополнительного окна. По ходу действа искать не только нужный текст, который можно сохранить в базу, но и нужный текст ссылок, по которым нужно кликать, например, чтобы открыть объявление, контакты или вернуться назад и перейти не следующую страницу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2019, 16:11 |
|
||
|
CEF4Delphi в потоке с внешней формой
|
|||
|---|---|---|---|
|
#18+
X11Парсинг сайта в отдельном потоке с использованием Cef4Delphi без дополнительного окна. По ходу действа искать не только нужный текст, который можно сохранить в базу, но и нужный текст ссылок, по которым нужно кликать, например, чтобы открыть объявление, контакты или вернуться назад и перейти не следующую страницу. Зачем парсить сайт в отдельном потоке? Chromium создает несколько процессов для парсинга, тебе этого мало? Может сделать со скрытым окном? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2019, 16:21 |
|
||
|
CEF4Delphi в потоке с внешней формой
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2019, 16:27 |
|
||
|
CEF4Delphi в потоке с внешней формой
|
|||
|---|---|---|---|
|
#18+
ziv-2014Зачем парсить сайт в отдельном потоке? Chromium создает несколько процессов для парсинга, тебе этого мало? потому что не хочется создавать новый проект и новую программу, в которой уже есть несколько других работающих парсеров, так сказать оболочка есть и к ней нужно прикрутить ещё один с браузером и чтобы не машать работе пользователя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2019, 16:29 |
|
||
|
CEF4Delphi в потоке с внешней формой
|
|||
|---|---|---|---|
|
#18+
X11, Разве примера из DOMVisitor не достаточно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2019, 16:35 |
|
||
|
CEF4Delphi в потоке с внешней формой
|
|||
|---|---|---|---|
|
#18+
SallerX11я не понимаю, что такое скармливай. как, куда? где, в какой момент? Я cef4 только начал изучать Возьми любую демку CEF4Delphi (например MiniBrowser), добавь туда Memo поле для ввода скрипта и кнопку для выполнения скрипта. В Обработчике клика кнопки прописывает Код: pascal 1. Заходим на страницу объявления и выполняем скрипт. получилось без окон и панелей загрузить страницу в фоне и выполнить JS Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. В итоге в консоль в DevTools попало сообщение "my click" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2019, 16:36 |
|
||
|
CEF4Delphi в потоке с внешней формой
|
|||
|---|---|---|---|
|
#18+
X11ziv-2014Зачем парсить сайт в отдельном потоке? Chromium создает несколько процессов для парсинга, тебе этого мало? потому что не хочется создавать новый проект и новую программу, в которой уже есть несколько других работающих парсеров, так сказать оболочка есть и к ней нужно прикрутить ещё один с браузером и чтобы не машать работе пользователя. Вы не понимаете, как работает chromium. Там есть очередь обработки сообщений. Все операции выполняются в отдельных потоках. Результат выводится в главный поток для отображения. Все операции, которые происходят внутри, chromium уже распределяет по нужным ему потокам. Если вам надо сделать в отдельном потоке, то вам надо делать окно в отдельном потоке и обрабатывать сообщения этого окна. Но по-моему это большие грабельки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2019, 16:40 |
|
||
|
CEF4Delphi в потоке с внешней формой
|
|||
|---|---|---|---|
|
#18+
ziv-2014X11, Разве примера из DOMVisitor не достаточно? Изучаю три примера. На данный момент волнует вопрос, можно ли управлять общаться с браузером не из главного потока программы, а из дополнительного. Пока не пробовал. Пока изучаю ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2019, 16:42 |
|
||
|
CEF4Delphi в потоке с внешней формой
|
|||
|---|---|---|---|
|
#18+
ziv-2014Вы не понимаете, как работает chromium. не спорю, поэтому и пытаюсь изучать и понять. К сожалению инфы на русском мало. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2019, 16:42 |
|
||
|
CEF4Delphi в потоке с внешней формой
|
|||
|---|---|---|---|
|
#18+
Подскажите, а что нужно указывать в качестве NodeID? Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. передаю "ad-author-contact-row-content" или "ad-author-contact-row-content j-c-phones" и процедура его не находит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2019, 13:52 |
|
||
|
CEF4Delphi в потоке с внешней формой
|
|||
|---|---|---|---|
|
#18+
X11, Это классы а не id ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2019, 13:58 |
|
||
|
CEF4Delphi в потоке с внешней формой
|
|||
|---|---|---|---|
|
#18+
Ну т.е. с помощью GetElementById не получится? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2019, 14:04 |
|
||
|
CEF4Delphi в потоке с внешней формой
|
|||
|---|---|---|---|
|
#18+
X11, нет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2019, 14:29 |
|
||
|
CEF4Delphi в потоке с внешней формой
|
|||
|---|---|---|---|
|
#18+
ок, тогда с помощью чего найти телефон или признак телефона во время итерации по DOM? Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2019, 15:07 |
|
||
|
CEF4Delphi в потоке с внешней формой
|
|||
|---|---|---|---|
|
#18+
X11, Ну например использовать префикс tel в href ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2019, 15:09 |
|
||
|
CEF4Delphi в потоке с внешней формой
|
|||
|---|---|---|---|
|
#18+
asviridenkovиспользовать префикс tel в href не понял ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2019, 15:13 |
|
||
|
CEF4Delphi в потоке с внешней формой
|
|||
|---|---|---|---|
|
#18+
Если на примере цикла итерации по DOM, то как? Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2019, 15:19 |
|
||
|
CEF4Delphi в потоке с внешней формой
|
|||
|---|---|---|---|
|
#18+
Я ещё не могу понять/найти: в каком свойстве, где живёт то, что на картинке подчеркнуто в программе в ICefDomNode? Т.е. как выловить, в каком свойстве вот то название класса "ad-author-contact-row-content j-c-phones", чтобы как можно ближе подобраться к телефону. Т.е. когда я в Firefox выбираю "копировать/внутренний HTML", то копируется: <span><a href="tel:+xxxxxxx0">+xxxxxxx0</a></span> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2019, 15:24 |
|
||
|
CEF4Delphi в потоке с внешней формой
|
|||
|---|---|---|---|
|
#18+
я забыл про рекурсию ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2019, 15:59 |
|
||
|
CEF4Delphi в потоке с внешней формой
|
|||
|---|---|---|---|
|
#18+
X11.е. как выловить, в каком свойстве вот то название класса "ad-author-contact-row-content j-c-phones", чтобы как можно ближе подобраться к телефону. Т.е. когда я в Firefox выбираю "копировать/внутренний HTML", то копируется: в общем, там ещё есть "TempChild.AsMarkup", т.е. можно использолвать вместо "TempChild.ElementInnerText" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2019, 12:04 |
|
||
|
CEF4Delphi в потоке с внешней формой
|
|||
|---|---|---|---|
|
#18+
X11 Код: pascal 1. извините за такой вопрос, но сегодня пятница, так что можно Я не могу понять, обходит ли SimpleDOMIteration() ВСЕ узлы и все уровни дерева DOM или только узлы верхнего уровня? Процедура не является рекурсивной, но вижу заход (TempChild := TempHead.FirstChild) на дочерние узлы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2019, 13:20 |
|
||
|
CEF4Delphi в потоке с внешней формой
|
|||
|---|---|---|---|
|
#18+
В общем, вот такая конструкция у меня получилась, может кому пригодится. найти нужный атрибут и значение узла в цикле по DOM Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2019, 15:48 |
|
||
|
CEF4Delphi в потоке с внешней формой
|
|||
|---|---|---|---|
|
#18+
Это же жесть -- вручную перебирать всю структуру DOM. Есть всякие css-селекторы, которые простыми командами могут найти и вывести любое количество элементов. Судя по вот этому -- CEF полностью поддерживает querySelectorAll . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2019, 22:43 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39854771&tid=2038489]: |
0ms |
get settings: |
6ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
150ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
72ms |
get tp. blocked users: |
1ms |
| others: | 232ms |
| total: | 495ms |

| 0 / 0 |
