Кто загнется следущий?

RiDDi
На сайте с 06.06.2010
Offline
285
#131

Нет, фантом не поддерживает плагины (в частности flash).

По крайней мере раньше не поддерживал когда я изучал эту тему.

В принципе можно взять фантом или любое другое подобное решение, но надо будет допиливать.

Вебмастер отдыхает на бережках морей. Заработок в интернете - дело техники.
S
На сайте с 05.01.2013
Offline
40
#132
Ленивое Z:
Без всяких вот подколок и задних мыслей.

Ок, прошу прощения если был слишком резок

Ленивое Z:

Нет, как пользоваться объектом WebBrowser я представляю,

Не ну не виндой единой... Есть же phantom с webkit, да и chromium приспособить тоже не теорему Пуанкаре решить, два высших не нужно

Ленивое Z:

я не представляю как вы через него определите видимость ссылок на странице из примера. И поиском по содержимому страницы, и поиском по исходному коду у вас все три ссылки будут видимыми, а по факту нет. И это самый простой пример.

Это да, но так линейно и не надо решать.

Во первых можно без рендера в image посмотреть аттрибуты в построенном dom-дереве, например position и прочий getComputedStyle, но это сложноватый путь, там надо будет набивать руку и долго исправлять свои ошибки перед промышленным использованием.

Я вижу решение несколько иным.

Рендерим в картинку оригинал, меняем какие либо свойства исследуемой ссылки, снова рендерим в картинку оригинал, по изменениям вычисляем область расположения ссылки в картинке, если таковая нашлась и на найденную (маленькую) область либо натравливаем распознавалку либо, зная шрифт, цвет и размер - растеризуем текст и ищем в картинке по шаблону.

В общем - это все голословие, противником которого я являюсь. Убедили - начал писать код, хоть планы были несколько иные, за неделю думаю смогу выкатить прототип, предлагаю обсуждение темы отложить на этот срок.

---------- Добавлено 20.10.2015 в 20:11 ----------

RiDDi:
Нет, фантом не поддерживает плагины (в частности flash).

флеш не нужен, его уже и нормальные браузеры не поддерживают, а в остальном - html, js, css, svg+canvas - вполне.

Ленивое Z
На сайте с 27.08.2007
Offline
106
#133
seogearbox:
Убедили - начал писать код

Не стоит, трясина) И я не убеждал.

Если уж всё равно переводить в картинку, то проще всю страницу туда загонять и её уже в текст переводить. Готовое решение у меня есть в принципе где-то, с десктопа оно работает со старым абордажным Finereader 8, но для приличного сервиса надо лицензию покупать, а они сами не знают, сколько хотят за неё и даже на тестовый период пытаются какие деньги сорвать за распознавание, а у меня жаба и мы с ней дружим.

[Удален]
#134

Ленивое Z, seogearbox, не забывайте, что исходный код всё равно разбирать придётся, а он может оказаться очень кривым, а ещё он может быть очень хитрый, например http://decor-site.ru/page/z1220-potolochnyj-plintus_review3.html ;)

RiDDi
На сайте с 06.06.2010
Offline
285
#135
seogearbox:

флеш не нужен, его уже и нормальные браузеры не поддерживают, а в остальном - html, js, css, svg+canvas - вполне.

оу, да что вы

из плагинов можно вызывать методы js, которые будут скрывать ссылки

некоторые плагины имеют прямой доступ к объектам html

плагины работают с куками, а значит можно поставить "волшебную" метку, при которой, опять же, через js будет скрываться

почти все плагины ЗАКРЫТЫЕ, а это большая проблема т.к. надо будет думать о внутренних обработчиках тех или иных событий, по которым может быть запущено "скрытие".

кроме того плагинами можно сильно усложнить жизнь "фильтру" в плане ресурсов и времени

плагины - главная и основная проблема

то, об чем вы говорите я за пол часа напишу

а вот с флешем и прочими внешними приложениями придется как следует подумать..

SC
На сайте с 11.02.2013
Offline
57
#136

Ленивое Z, ваш пример тривиально детектится, например так:

http://dpaste.com/3QT1AQ4


Link 'Ссылка 1' is hidden
Link 'Ссылка 2' is hidden
Link 'Ссылка 3' is visible
S
На сайте с 05.01.2013
Offline
40
#137
RiDDi:
оу, да что вы

из плагинов можно вызывать методы js, которые будут скрывать ссылки
некоторые плагины имеют прямой доступ к объектам html
плагины работают с куками, а значит можно поставить "волшебную" метку, при которой, опять же, через js будет скрываться
почти все плагины ЗАКРЫТЫЕ, а это большая проблема т.к. надо будет думать о внутренних обработчиках тех или иных событий, по которым может быть запущено "скрытие".
кроме того плагинами можно сильно усложнить жизнь "фильтру" в плане ресурсов и времени

Вот до этого момента согласен.

RiDDi:

плагины - главная и основная проблема

А вот тут реально непонятно. У ботов гугля и яндекса никаких плугинов нет, а вопрос стоит в том что увидят они ссылку или не увидят и если увидят - будет медаль за хитрожопость или нет. Каким боком вылезли плагины? Тем более что явление это нерегулярное, стоят не у всех пользователей и стоят они в разном количестве. Как наличие или отсутствие плагинов (даже таких распространенных как флеш) влияет на обсуждаемый нами вопрос?

RiDDi:

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

Так я на экслюзив и не претендую, изначально моя реплика бурундуку в том и состояла что технически вообще никаких сложностей, чуть сложнее сделать это еще и экономически выгодным в промышленном использовании (проверка хотя бы на уровне сотен тысяч документов ежедневно).

---------- Добавлено 20.10.2015 в 23:46 ----------

burunduk:
Ленивое Z, seogearbox, не забывайте, что исходный код всё равно разбирать придётся, а он может оказаться очень кривым, а ещё он может быть очень хитрый, например http://decor-site.ru/page/z1220-potolochnyj-plintus_review3.html ;)

phantom.js - это программно управляемый web-kit, и как раз парсинг и построение dom так ровно то же самое, что в хроме/сафари, так что это реально не проблема. Если страница в хроме отображается, то и фантом ее распарсит. Проблема там в ресурсах - с этим посложнее, но решаемо.

Под виндой аналогично можно ie запрячь, тот же принцип.

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

87793
На сайте с 12.09.2009
Offline
661
#138
Ленивое Z:
И не обязательно все ссылки с сайта проверять - достаточно одной, чтобы понять в каком виде ссылки размещаются.

Ой ли? :)

Разные ссылки могут и на одном сайте по-разному размещаться :).

Наше дело правое - не мешать левому!
Ленивое Z
На сайте с 27.08.2007
Offline
106
#139
Serg_CS:
Ленивое Z, ваш пример тривиально детектится

Наверное, вариант, да

87793:
Разные ссылки могут и на одном сайте по-разному размещаться

В смысле ссылки разных бирж?) Ну может быть.

SC
На сайте с 11.02.2013
Offline
57
#140
RiDDi:

плагины - главная и основная проблема

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

Это вообще не проблема. QtWebKit давно поддерживает любые NPAPI-плагины - все, что нужно сделать, это включить их:

view->settings()->setAttribute(QWebSettings::PluginsEnabled, true);

и указать путь в переменной окружения QTWEBKIT_PLUGIN_PATH (например, C:\Windows\System32\Macromed\Flash)

----

На примере сайта wechoosethemoon.org:

Результат до: http://s006.radikal.ru/i213/1510/61/43250c419439.png

Результат после: http://s020.radikal.ru/i717/1510/99/f089f6f66ca2.png

Ну и поскольку Phantom.JS сделан на базе qtwebkit'а, единственная причина, почему там нет из коробки поддержки flash - такое не требовалось никому из разработчиков. Но это тривиальный патч

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий