- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу

Все что нужно знать о DDоS-атаках грамотному менеджеру
И как реагировать на "пожар", когда неизвестно, где хранятся "огнетушители
Антон Никонов
http://phantomjs.org/
Нет, фантом не поддерживает плагины (в частности flash).
По крайней мере раньше не поддерживал когда я изучал эту тему.
В принципе можно взять фантом или любое другое подобное решение, но надо будет допиливать.
Без всяких вот подколок и задних мыслей.
Ок, прошу прощения если был слишком резок
Нет, как пользоваться объектом WebBrowser я представляю,
Не ну не виндой единой... Есть же phantom с webkit, да и chromium приспособить тоже не теорему Пуанкаре решить, два высших не нужно
я не представляю как вы через него определите видимость ссылок на странице из примера. И поиском по содержимому страницы, и поиском по исходному коду у вас все три ссылки будут видимыми, а по факту нет. И это самый простой пример.
Это да, но так линейно и не надо решать.
Во первых можно без рендера в image посмотреть аттрибуты в построенном dom-дереве, например position и прочий getComputedStyle, но это сложноватый путь, там надо будет набивать руку и долго исправлять свои ошибки перед промышленным использованием.
Я вижу решение несколько иным.
Рендерим в картинку оригинал, меняем какие либо свойства исследуемой ссылки, снова рендерим в картинку оригинал, по изменениям вычисляем область расположения ссылки в картинке, если таковая нашлась и на найденную (маленькую) область либо натравливаем распознавалку либо, зная шрифт, цвет и размер - растеризуем текст и ищем в картинке по шаблону.
В общем - это все голословие, противником которого я являюсь. Убедили - начал писать код, хоть планы были несколько иные, за неделю думаю смогу выкатить прототип, предлагаю обсуждение темы отложить на этот срок.
---------- Добавлено 20.10.2015 в 20:11 ----------
Нет, фантом не поддерживает плагины (в частности flash).
флеш не нужен, его уже и нормальные браузеры не поддерживают, а в остальном - html, js, css, svg+canvas - вполне.
Убедили - начал писать код
Не стоит, трясина) И я не убеждал.
Если уж всё равно переводить в картинку, то проще всю страницу туда загонять и её уже в текст переводить. Готовое решение у меня есть в принципе где-то, с десктопа оно работает со старым абордажным Finereader 8, но для приличного сервиса надо лицензию покупать, а они сами не знают, сколько хотят за неё и даже на тестовый период пытаются какие деньги сорвать за распознавание, а у меня жаба и мы с ней дружим.
Ленивое Z, seogearbox, не забывайте, что исходный код всё равно разбирать придётся, а он может оказаться очень кривым, а ещё он может быть очень хитрый, например http://decor-site.ru/page/z1220-potolochnyj-plintus_review3.html ;)
флеш не нужен, его уже и нормальные браузеры не поддерживают, а в остальном - html, js, css, svg+canvas - вполне.
оу, да что вы
из плагинов можно вызывать методы js, которые будут скрывать ссылки
некоторые плагины имеют прямой доступ к объектам html
плагины работают с куками, а значит можно поставить "волшебную" метку, при которой, опять же, через js будет скрываться
почти все плагины ЗАКРЫТЫЕ, а это большая проблема т.к. надо будет думать о внутренних обработчиках тех или иных событий, по которым может быть запущено "скрытие".
кроме того плагинами можно сильно усложнить жизнь "фильтру" в плане ресурсов и времени
плагины - главная и основная проблема
то, об чем вы говорите я за пол часа напишу
а вот с флешем и прочими внешними приложениями придется как следует подумать..
Ленивое Z, ваш пример тривиально детектится, например так:
http://dpaste.com/3QT1AQ4
Link 'Ссылка 1' is hidden
Link 'Ссылка 2' is hidden
Link 'Ссылка 3' is visible
оу, да что вы
из плагинов можно вызывать методы js, которые будут скрывать ссылки
некоторые плагины имеют прямой доступ к объектам html
плагины работают с куками, а значит можно поставить "волшебную" метку, при которой, опять же, через js будет скрываться
почти все плагины ЗАКРЫТЫЕ, а это большая проблема т.к. надо будет думать о внутренних обработчиках тех или иных событий, по которым может быть запущено "скрытие".
кроме того плагинами можно сильно усложнить жизнь "фильтру" в плане ресурсов и времени
Вот до этого момента согласен.
плагины - главная и основная проблема
А вот тут реально непонятно. У ботов гугля и яндекса никаких плугинов нет, а вопрос стоит в том что увидят они ссылку или не увидят и если увидят - будет медаль за хитрожопость или нет. Каким боком вылезли плагины? Тем более что явление это нерегулярное, стоят не у всех пользователей и стоят они в разном количестве. Как наличие или отсутствие плагинов (даже таких распространенных как флеш) влияет на обсуждаемый нами вопрос?
то, об чем вы говорите я за пол часа напишу
а вот с флешем и прочими внешними приложениями придется как следует подумать..
Так я на экслюзив и не претендую, изначально моя реплика бурундуку в том и состояла что технически вообще никаких сложностей, чуть сложнее сделать это еще и экономически выгодным в промышленном использовании (проверка хотя бы на уровне сотен тысяч документов ежедневно).
---------- Добавлено 20.10.2015 в 23:46 ----------
Ленивое Z, seogearbox, не забывайте, что исходный код всё равно разбирать придётся, а он может оказаться очень кривым, а ещё он может быть очень хитрый, например http://decor-site.ru/page/z1220-potolochnyj-plintus_review3.html ;)
phantom.js - это программно управляемый web-kit, и как раз парсинг и построение dom так ровно то же самое, что в хроме/сафари, так что это реально не проблема. Если страница в хроме отображается, то и фантом ее распарсит. Проблема там в ресурсах - с этим посложнее, но решаемо.
Под виндой аналогично можно ie запрячь, тот же принцип.
По приведенной ссылке - да, динамичный контент не вытащит, но так ведь в рассматриваемом контексте - и не должен. Яша точно такую ссылку не увидит, за гугль не уверен, но я бы такое точно покупать не стал, а речь изначально о проверке купленных ссылок - любое сомнение трактуется в пользу покупателя, не?
И не обязательно все ссылки с сайта проверять - достаточно одной, чтобы понять в каком виде ссылки размещаются.
Ой ли? :)
Разные ссылки могут и на одном сайте по-разному размещаться :).
Ленивое Z, ваш пример тривиально детектится
Наверное, вариант, да
Разные ссылки могут и на одном сайте по-разному размещаться
В смысле ссылки разных бирж?) Ну может быть.
плагины - главная и основная проблема
то, об чем вы говорите я за пол часа напишу
а вот с флешем и прочими внешними приложениями придется как следует подумать..
Это вообще не проблема. 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 - такое не требовалось никому из разработчиков. Но это тривиальный патч