softbob > 09-09-2014 19:24:41 |
Здравствуйте уважаемые . Мне нужно распарсить страницу нагруженную скриптами. В просмотре кода страницы нужные данные отсутствуют , зато все есть при записи страницы из мозиллы и хрома. Подключил к своей программе xulrunner и споткнулся на savedocument(path,mime type) , mime type не могу найти описания. savedocument(path) сохраняет htm без нужных данных . Не подскажете ли в чем проблема ? надо искать как использовать mime type или xulrunner не умеет сохранять страницы полностью как мозилла ? |
softbob > 10-09-2014 04:24:21 |
okkamas_knife пишетне совсем понятно как получаешь страницу. всё дело в том что те данные как я понимаю генерятся или получаются откудато скриптами соответственно тебе надо не парсить хтмл а посмотреть откуда берутся эти данные и вытягивать их т.е. если тянется откудато json (как обычно ща делают) то тянешь и парсишь его если данные генерятся скриптами то выясняй как и на основе чего и генери их сам. зы если нужно именно так как ты хочешь то можешь распаковать omni.ja из лисы(это рахив там собственно большая часть кишочков лисы) и посмотреть как там организовано сохранение (смотришь в инспекторе название функции что вызывается в меню файл сохранить и даёшь поиск по ней ну а дальше разгребаешь скрипты что куда и как)
Спасибо за ответ . Покопаю omni.ja , тут сложность в том что все надо копать с нуля так как я от слова "скрипт" вздрагиваю , а там не только js но и PHP . Работаю исключительно на шарпе и решаю НЕ интернетовские задачи и синтаксис у пхп офигенный . Самый легкий и быстрый для меня вариант получить полный htm на диск или в строку , а его разобрать уже не сложно . |
softbob > 10-09-2014 04:55:55 |
Посмотрел omni.ja , че-то затупил . savedocument это не из js это из geckofx-winform , прокладка dll для xulrunner . В js savedocument совсем с другими параметрами . Я согласен с Вами про изврат , но задача единичная и маленькая , изучать для нее js офигеть . Скорость не критична даже если сохранение и чтение будет 2-3 сек . А самое главное я не уверен что программисты этого ресурса в очередной раз не изменят код , поэтому htm на диск вариант более надежный . Не понятно почему нужно подключать браузер мозилла если xulrunner это и должен быть браузер мозилла ? Спасибо за помощь . |
softbob > 10-09-2014 07:44:41 |
А можно тупой вопрос . Есть поле на форме в которое заносится фамилия Потом это должно использоваться в поиске , вот кусок функции поиска Вот это #s_p_name это должно содержать то что набрано в s_p_name ? что такое # я не нашел в java . А это $("#s_p_name").val() это php ? И как s_p_name отображается если у него нет атрибута value ? Если смотреть код страницы то у этого поля нет содержимого , но на экране то оно есть . Блин , я даже начала не могу понять . Все переменные в поиске обьявлены как var , по Java это локальная переменная и доступа к ней у меня быть не должно , где производится присвоение значения полю на экране "s_p_name" не найду , ну и т.д. и т.п... |
softbob > 10-09-2014 09:35:16 |
Отлично , но Нет value поэтому geckoWebBrowser1.Document.getelementbyid('s_p_name').getattribute('value') возвращает пусто . Если на странице в поле s_p_name написано "Иванов" то при просмотре кода страницы иванов в тексте html нет ни где . Из этого следует что иванов хранится где-то в переменной и динамически отображается , а как добраться до переменных если они все локальные я не понимаю . Ну буду ковырять , спасибо за участие . |
softbob > 10-09-2014 16:34:21 |
Уважаемый okkamas_knife . Проблему почти решил , как Вы и советовали без записи на диск . Остался последний вопрос . Есть ли в скрипте возможность смены кодировки переменных ? например в unicode В документации не нашел . |
softbob > 11-09-2014 05:09:01 |
Видимо у меня проблемы с инструментом программирования . Это редкий язык Clarion# . Вот так все работает, в alert отображается правильно . Вот так должен возвращаться результат В cluc возвращается результат в виде крякозябров . Должно быть что-то вроде Интересно что value из полей возвращается правильно и только из скрипта нет . Как я понимаю возможно создать поле с атрибутом value в открытой странице , присвоить ему значение из скрипта и уже потом взять значение из value ? |