| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Паук(spider) для обработки ХТМЛ-страниц. TWebbrows |
| Автор: Pcrepair 13.10.2011, 07:46 |
| Добрый день Что известно: 1. компонент TWebBrowser может загрузить, обработать код (JavaScript и прочее ФЛЭШ) и отобразить страницу 2. для паука отображать страницу в общем ни к чему, кроме отдельных случаев (визуальный контроль оператором), картинки, флэш тоже не нужны, JavaScript обрабатывать нужно во многих случаях, еще нужно в автомате вставлять логины-пароли и отправлять их сервер(кнопочку нажимать). в общем все что нужно - оставить текст со ссылками (УРЛ) и сохранить табличную структуру страницы - чтоб не куча букв Вопрос Можно ли средствами INDY10 и RAD2010 сделать следующее (и будет ли это лучше - стабильнее, правильнее идеологически): 1. загрузить код ХТМЛ-страницы по заданному УРЛ 2. обработать JavaScrtipt и ввести результаты обработки в страницу 3. удалить все лишнее (флеш, картинки, фреймы, дивы), оставить только таблицы, текст, ссылки с привязкой к тексту (теги соответсвующие) 4. отобразить на РИЧЕДИТ? документ (для контроля результата) 5. вставлять логины-пароли и отправлять их на сервер 6. Куки тоже нужно обрабатывать (чтоб сессии с сервером сохранялись) Если у кого есть примеры кода, дайте посмотреть. Заранее спасибо |
| Автор: Snowy 13.10.2011, 11:04 |
| Теоретически можно всё. Но это куча работы. Причём, если выделение данных из файла задача не шибко сложная, то выполнение JS - это проблема, ибо его нужно не просто выполнить, а выполнить в контексте страницы. А, чтобы создать контекст страницы, нужно её построить. А, поскольку это уже получается браузерный движок, то лучше и взять браузерный движок, т.к. самому его городить - работа неподъёмная. Куча народу вон не может заставить JS работать одинаково в разных браузерах. А одному с этим бороться вообще нереально. Самый простой вариант - взять готовый браузерный движок и не мучаться. Не нравится IE - возьми chromium. Но по нему меньше информации - подсказать некому будет. Ну или, как вариант, взломать гугль и выкрасть их робота... P.S. Очень сомневаюсь, что роботы вообще должны выполнять JS. Думаю, что они просто вытаскивают из него информацию также, как из html. |
| Автор: Pcrepair 13.10.2011, 13:03 | ||
Очень сомневаюсь, что роботы вообще должны выполнять JS. Думаю, что они просто вытаскивают из него информацию также, как из html. вообще если посмотреть ЖАБА-код, который допустим выводит текст и ссылки, то там че те не найти этих ни текста ни ссылок, но если ЖАБА отключить то ничего не выводится. и таких сайтов полно. |
| Автор: Snowy 13.10.2011, 13:25 |
| Я не убеждаю игнорировать JS. Я говорю про то, что можно его разобрать также, как и html. Если JS дёргает урл и вставляет результат в страницу, то робот может также дёрнуть этот урл и проанализировать результат. Выполнять для этого скрипт нет необходимости - можно просто посмотреть, что он там тянет. |
| Автор: Pcrepair 13.10.2011, 13:56 | ||||
есть и такие скрипты, типа
но есть посложнее - вызов файла типа users.js, а там......
и это только кусочек и что с этим делать? |
| Автор: Akella 13.10.2011, 14:27 |
| Погугли на тему Delphi JS JavaScript. Хотя Snowy прав, нужно выполнять в контексте страницы. Идеальный вариант, это встроенный TWebbrowser. |
| Автор: Чучмек 15.10.2011, 09:04 |
Только нужно обломать ему руки и ноги. |