Можно ли "принудительно" выполнить дейстиве скрипта JS / AJAX ?
делаю фиды с интересного сайта http://tourbina.ru. Вытянуть текст получается, но для того, чтобы увидеть фото к статье, нужно нажать на ссылку
"Все фотографии одной лентой"
например - http://tourbina.ru/guide/112309/memo/1804/
код ссылки таков.
<div class="allPhotosInContent"><a class="dottedLink srListOpen" whop="FULLPHOTOS" ajxaction="display_photo_feed" tpl="srListOpen" xvost="&id=9382&type=advice">Все фотографии одной лентой</a><div id="srListOpen_FULLPHOTOS" style="display: none;"><div class="loading"><img src="/static/wait.gif" width="16" height="16"><span>Идет загрузка...</span></div></div></div>
kunia, если вы знакомы с сокращениями JS и AJAX, то буду сразу по существу. Запустив Файербаг, смотрим что происходит по клике на ссылку. А происходит запрос по адресу http://tourbina.ru/util/?action=display_photo_feed&id=1804&type=memo . Просто подарок! То есть, ваша задача:
1. Вытянуть текст статьи (уже ок)
2. Создать еще один документ, но с адресом типа http://tourbina.ru/util/?action=display_photo_feed&id={ТУТ_ID_СТАТЬИ_САЙТА}&type=memo
3. Вытащить картинки оттуда и дописать в текст статьи.
Ура?
Ура!
а как получить из переменной article.url нужную часть (ID)? какой язык использует DevTools? Java?
Получилось!
var ArticleID = article.url.substring(article.url.indexOf("memo/")+5, article.url.length-1);
var Photos = "http://tourbina.ru/util/?action=display_photo_feed&type=memo&id=" + ArticleID;
var c = new Document(Photos, channel.encoding);
var d = new Document(article.url, channel.encoding);
var el = d.getElementsByTagName("mncn")[1];
article.body = el.innerHTML + c.innerHTML;
да-да, примерно так.
Язык - JScript .NET: http://msdn.microsoft.com/en-us/library/ms974588.aspx