Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Парсинг текста ответа (https://javascript.ru/forum/events/44054-parsing-teksta-otveta.html)

grego 04.01.2014 12:41

Парсинг текста ответа
 
Добрый день!

Решаю следующую прикладную задачу - нужно сделать обход нескольких страниц одного информационного сообщества и собрать все посты одного юзера в массив - т. е. выцепить текст ячейки таблицы из responseText ответа XHR.
Столкнулся с проблемой - не могу докумекать как мне эффективнее всего обработать responseText, чтобы из возвращаемого документа выцепить текст юзера. на ум приходят 2 способа - обработка регулярками, но мне кажется если это и возможно, то будет довольно тяжело написать подходящее выражение. Второй способ - использовать что-то вроде DOMParser и работать с документом, как с DOM, но как вставлять документ в документ - что-то я тоже не понимаю.

Подскажите пожалуйста, какой самый оптимальный способ решения данной задачи?
Заранее благодарю)

danik.js 04.01.2014 15:06

А ты уверен что то самое сообщество разрешает кроссдоменные XHR запросы?

grego 04.01.2014 15:29

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

danik.js 04.01.2014 15:57

Вместо DOMParser'а можно просто создать div и присвоить innerHTML значение. Но по идее тогда можно присваивать только фрагмент HTML-кода, а не целиком страницу с <head>, доктайпом и т.д.

Цитата:

Сообщение от grego
как вставлять документ в документ - что-то я тоже не понимаю

Зачем документ? только некоторые ноды. Вставлять их можно через appendChild/insertBefore, предварительно преобразовав через document.adoptNode(foreignNode)

Кстати создать свой серверный прокси-скрипт, который будет извлекать и подготавливать нужные данные - не вариант?


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