Javascript-форум (https://javascript.ru/forum/)
-   Оффтопик (https://javascript.ru/forum/offtopic/)
-   -   Ящик Пандоры или тотальный копипаст (https://javascript.ru/forum/offtopic/8129-yashhik-pandory-ili-totalnyjj-kopipast.html)

Gozar 10.03.2010 14:03

subzey,
У меня не паранойя, а шизофрения.

зы: паранойя у меня по поводу за всеми следят кто надо. :)

subzey 10.03.2010 15:11

Gozar,
ах этот Гугл, который знает, что мы ищем, какие сайты посещаем, где мы находимся, нашу переписку, наши фотографии, наши документы, да еще и обозревает нас со спутника!

micscr 10.03.2010 15:18

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

B@rmaley.e><e 10.03.2010 16:09

micscr, это уже забота составителя граббера. Парсер сам по себе не догадается, что нужно еще один (несколько) запросов (возможно, маскируясь под XHR) отправить для получения "полной картины".

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

Gvozd 10.03.2010 17:03

Цитата:

Сообщение от micscr
Стыдно, но до курла руки пока не дошли

Цитата:

Сообщение от B@rmaley.e><e
А курл в основном используется, если не ошибаюсь, когда нужны сессии (имитируем залогиненного юзера) или специфические методы (POST, загрузка файлов, etc).

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

Gozar 10.03.2010 18:34

Года три назад я через курл шарился из одной канторы по сайтам вроде bash-орга, там на тему "какие сайты смотришь" был пунктик, могли даже рукавицами ежевыми по зарплате погладить если что не понравиться. Технология у него действительно проста как танк т34.

Gozar 10.03.2010 18:35

И вообще я тогда php больше уважал, чем сейчас.

Tim 10.03.2010 18:41

Цитата:

Стыдно, но до курла руки пока не дошли
У меня тоже не дошли, но мне не стыдно. Юзаю сокеты и искренне не понимаю зачем мне этот сиУРЛ. :)

e1f 10.03.2010 18:48

Цитата:

Сообщение от Gozar (Сообщение 47374)
Года три назад я через курл шарился из одной канторы по сайтам вроде bash-орга, там на тему "какие сайты смотришь" был пунктик, могли даже рукавицами ежевыми по зарплате погладить если что не понравиться. Технология у него действительно проста как танк т34.

и чем же curl помочь должен? Или смотрели, что у Вас в браузере открыто? ;)

Gozar 10.03.2010 19:02

Цитата:

Сообщение от e1f (Сообщение 47380)
и чем же curl помочь должен? Или смотрели, что у Вас в браузере открыто? ;)

а при чем тут открыто в браузере?

или вы думаете, что я брал лопату, одевал валенки и шел во двор курл разгребать? ;)

насколько мне известно курл в браузере не работает.

e1f 10.03.2010 19:04

Хм. Свой "прокси" с помощью curl, конечно, вариант... Сейчас я бы уже пользовался своим мобильным интернетом :)

Gvozd 10.03.2010 19:26

Цитата:

Сообщение от Tim
Юзаю сокеты и искренне не понимаю зачем мне этот сиУРЛ.

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

Gozar 11.03.2010 22:34

Gvozd,
А по вашему мнению какие наиболее защищенные сайты от копипаста?
Не могли бы вы пару тройку указать и уточнить почему. Поисковики если что не надо.

Это мне так ради интереса :)

Gozar 11.03.2010 22:35

вернее даже не наиболее, а самые защищенные. Ajax - шмаjax тоже подойдет :)

Gvozd 11.03.2010 23:11

Цитата:

Сообщение от Gozar
А по вашему мнению какие наиболее защищенные сайты от копипаста?

http://localhost/
=)
На данный момент единственная вещь из попавшихся мне, которую я не смог преодолеть - это была капча гугла.
но и то скорее по неопытности. щаз думаю смог бы обойти, если поступит заказ.
вообще же не вижу смысла публиковать те сайты, с которыми у меня было больше возни, или каким должен быть сайт, чтобы я не смог его сграбить.
потому что это мой хлеб.я по темную сторону баррикад, и мне здесь вполне отлично

Gozar 12.03.2010 00:05

Жаль что разговор исчерпал себя так быстро. Копипаст это слишком скучно - технология весело ;)

micscr 12.03.2010 08:28

Все равно я не совсем понимаю о чем вы. Что значит скопипастить сайт?
Сайт сейчас - это код (например php), данные в БД + шаблоны html.
Ну слизали текущую текстовую составляющую - все равно это же не готовый сайт. Она годится чтобы в уже готовый вставить.
Другой вариант - кто-то выставляет уник. инфу а другой по распорядку тырит данные у него. Это же тоже - не скопипастить сайт и требует индивидуальной работы. Увидел, что у него тырят, поменял разметку в шаблоне и уже временно "не тырят".

Gozar 12.03.2010 11:54

Цитата:

Сообщение от micscr (Сообщение 47476)
Все равно я не совсем понимаю о чем вы. Что значит скопипастить сайт?
Сайт сейчас - это код (например php), данные в БД + шаблоны html.
Ну слизали текущую текстовую составляющую - все равно это же не готовый сайт. Она годится чтобы в уже готовый вставить.
Другой вариант - кто-то выставляет уник. инфу а другой по распорядку тырит данные у него. Это же тоже - не скопипастить сайт и требует индивидуальной работы. Увидел, что у него тырят, поменял разметку в шаблоне и уже временно "не тырят".

Копировать код нынешних сайтов я не вижу смысла, потому что он 90% отвратительного качества. Включая CMS все которые я знаю. А знаю я их достаточно.

я за 5 минут сделаю строение и базу под готовый сайт средних размеров. Дизайн и шаблоны в помойку. и вот появился еще один клон в удобной форме на компе.

Цитата:

Сообщение от micscr (Сообщение 47476)
Увидел, что у него тырят, поменял разметку в шаблоне и уже временно "не тырят".

Полная чушь.

micscr 12.03.2010 12:17

Цитата:

Сообщение от Gozar (Сообщение 47488)
Полная чушь.

Да я забыл там вопросик поставить ...
Ну например есть у меня на страничке (построенной на таблицах) супер заныканая ячейка в которой я храню интересную инфу.
Кто-то написал бота, который загружает эту страничку, анализирует html и ищет эту инфу.
Сделал я перекидку, что не прийдется заново алгоритм парсера пересмотреть или они уже такие интеллектуальные?

B@rmaley.e><e 12.03.2010 12:36

Страница копируется целиком, без разбора, что контент, а что просто оформление.

Gvozd 12.03.2010 13:52

Цитата:

Сообщение от B@rmaley.e><e
Страница копируется целиком, без разбора, что контент, а что просто оформление.

вы говорите о тотальном копипасте.
обычно делать полный клон не имеет смысла.хоть и такое делается частенько.

чаще же имеет смысл тырить не сайт, а инфу на нем.
то есть если это сайт с курсами НБУ, то обычно требуется небольшой массив курсовы, или же пара строк в БД.
и для этого приходится копать HTML-код страницы
Цитата:

Сообщение от micscr
Увидел, что у него тырят, поменял разметку в шаблоне и уже временно "не тырят".

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

Gozar 12.03.2010 14:18

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

Gozar 12.03.2010 14:20

писать парсер под каждый проект я считаю непозволительной роскошью :)

Gvozd 12.03.2010 14:24

Цитата:

Сообщение от Gozar
синтаксический анализатор на основе дерева документа

можете привести пример такого ПО?
платного, бесплатного, десктопных программ, скриптовых, или библиотек?
хотелось бы глянуть на них
Цитата:

Сообщение от Gozar
писать парсер под каждый проект я считаю непозволительной роскошью

ну, если бы я заказывал парсеры у самого себя, я бы наверно разорился бы))))

Gozar 12.03.2010 14:40

Цитата:

Сообщение от Gvozd (Сообщение 47508)
можете привести пример такого ПО?
платного, бесплатного, десктопных программ, скриптовых, или библиотек?
хотелось бы глянуть на них

думаю не один Вы хотели бы на них взглянуть ;)

micscr 12.03.2010 15:12

Цитата:

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

Это какие-то хакерские методы? Или программированием? А то я что-то не пойму как даже теоретически обходится каптча, когда на клиенте нет данных о верной комбинации(кроме символов на картинке), а данные на сервере и без них требуемая страница не загрузится.

Tim 12.03.2010 15:29

Цитата:

не пойму как даже теоретически обходится каптча
Распознавание текста можно применить попробовать
http://www.anti-captcha.com/

Gvozd 12.03.2010 15:32

Цитата:

Сообщение от Tim (Сообщение 47513)
Цитата:

Сообщение от micscr (Сообщение 47512)
не пойму как даже теоретически обходится каптча

Распознавание текста можно применить попробовать
http://www.anti-captcha.com/

именно
я не преуспел в сохранении сесии тогда.
о глюке CURL-а с сохранением кукисов я узнал позже

micscr 12.03.2010 15:45

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

micscr 12.03.2010 15:49

А если эту картинку предварительно разбить на 10 частей и уже на странице собирать, что тогда?

Kolyaj 12.03.2010 16:25

Цитата:

Сообщение от micscr
Это уже полностью автоматизировано, я так понимаю?

Индусские фирмы берут где-то по 5 долларов за 1000 каптч.

micscr 12.03.2010 16:41

Цитата:

Сообщение от Kolyaj (Сообщение 47519)
Индусские фирмы берут где-то по 5 долларов за 1000 каптч.

Kolyaj, они выше ссылочку кинули где за 1$ 1000 каптч.

Я тут подумал если держать у себя картинку 200px*200px с набором различных капчей и на сервере хранить какая из них а клиенту передавать только соответствующие отступы для фона элемента заданного размера, то думаю справимся с граберами. :victory: :)

Kolyaj 12.03.2010 16:44

Цитата:

Сообщение от micscr
Kolyaj, они выше ссылочку кинули где за 1$ 1000 каптч.

Ну значит я от жизни отстал :)

Tim 12.03.2010 17:51

Цитата:

а клиенту передавать только соответствующие отступы для фона элемента заданного размера
т.е. передавать их и боту ;)

Tim 12.03.2010 17:58

Цитата:

Сообщение от Gozar (Сообщение 47506)
Говоря парсер, мы урезаем себя в возможностях. Я бы сказал синтаксический анализатор на основе дерева документа. Хотя возможно на четко определенных проектах четко заточенный парсер работать будет быстрее, но без привязки к определенному проекту синтаксический анализатор даст более правильную картину страницы.

Пробовал я такое. В php есть специальные функции для построения дерева по коду страницы. Если вёрстка кривая то падает всё с ошибками. Лучше регулярками крамсать.

Gozar 12.03.2010 18:31

Цитата:

Сообщение от Tim (Сообщение 47531)
Лучше регулярками крамсать.

Да неужели?!

Gvozd 12.03.2010 20:14

Цитата:

Сообщение от micscr
А если эту картинку предварительно разбить на 10 частей и уже на странице собирать, что тогда?

парсер также склеит ее и отправит на капча-сервис
Цитата:

Сообщение от micscr
клиенту передавать только соответствующие отступы для фона элемента заданного размера, то думаю справимся с граберами.

опять-таки нет
Цитата:

Сообщение от Tim
Пробовал я такое. В php есть специальные функции для построения дерева по коду страницы. Если вёрстка кривая то падает всё с ошибками. Лучше регулярками крамсать.

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

Tim 12.03.2010 23:28

Цитата:

если ты подразумеваешь DOM classes
Кажется да, но не уверен. Там ещё с XML что-то есть. Я быстро с этим способом завязал т.к. глюки не мог устранить. Так что сейчас даже не вспомню.

Цитата:

не смеши меня пожалуйста.
Не вижу ни чего смешного. По крайней мере мне не смешно было :(

Цитата:

на голых регулярках далеко не уедешь
Да, трудности возникают.

Цитата:

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

subzey 12.03.2010 23:31

Хоть я и не занимаюсь парсерами профессионально, соглашусь с Gvozd'ем, регулярки для разбора html не подходят, только конечный автомат.

Gvozd 13.03.2010 03:34

Цитата:

Сообщение от Tim
Кажется да, но не уверен. Там ещё с XML что-то есть. Я быстро с этим способом завязал т.к. глюки не мог устранить. Так что сейчас даже не вспомню.

именно так и есть
DOM classes связаны с разбором XML-а(и даже HTML-а)
Цитата:

Сообщение от Tim
Не вижу ни чего смешного. По крайней мере мне не смешно было

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

просто немного упорства нужно
если нечто есть в PHP, то значит кто-то же его разрабатывал и тестировал.
и кто-то же пользуется этим.
именно упорство помогло мне сделать красивый класс для многопоточной закачки на CURL-е. Уникальных русскоязычных статей по теме multi-CURL штуки три.
примеров кода не из документации(там они не раскрывают всех тонкостей) вообще в интернете также мало.
пришлось потратить немало времени.
Цитата:

Сообщение от Tim
Да, трудности возникают.

написание XPath выражения занимает неприлично мало времени по сравнению с регулярками.
высвободившееся время можно с толком потратить на что-то полезное или интересное
Цитата:

Сообщение от subzey
регулярки для разбора html не подходят, только конечный автомат.

эм?
а разве DOM-парсер и регулярные выражения не являются оба конечными автоматами?
первый с набор всегда одинаковым набором состояний и переходов, а второй даже таблицу переходов в явном виде не составляет(полагаю)
кстати к DOM-у еще прилагается XPath, также являющийся конечным автоматом.


Часовой пояс GMT +3, время: 00:54.