Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 21.05.2012, 18:14
Интересующийся
Отправить личное сообщение для martinss Посмотреть профиль Найти все сообщения от martinss
 
Регистрация: 29.12.2010
Сообщений: 24

Имитация нажатия на ссылку
Здравствуйте, у меня есть парсер web-страницы. Суть его работы такая: при помощи curl я авторизуюсь на сайте и вытягиваю контент. Задача вывести все изображения. С этим проблем нет.
Проблема в другом: сайт этот работает только при включенном js, картинки выводятся на страницу не все, а только 40 штук. Внизу есть кнопка "показать еще картинки", при ее нажатии подгружаются еще 20 и так далее. При каждом нажатии на кнопку (ссылку) подгружается по 20 новых картинок.

Вопрос: как я могу это сделать программно?
вот код той кнопки (ссылки):

<a id="photos_load_more" onclick="photos.load()" style="">Показать больше </a>


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

То есть подгрузка состоит из двух вариантов.


Заранее спасибо.
Ответить с цитированием
  #2 (permalink)  
Старый 21.05.2012, 23:54
Аватар для razerxxx
Аспирант
Отправить личное сообщение для razerxxx Посмотреть профиль Найти все сообщения от razerxxx
 
Регистрация: 05.10.2011
Сообщений: 85

Если используешь jquery, то можешь попробовать так: $("#photos_load_more").click();
или еще попробуй сразу вызвать photos.load()
Ответить с цитированием
  #3 (permalink)  
Старый 22.05.2012, 00:07
Интересующийся
Отправить личное сообщение для martinss Посмотреть профиль Найти все сообщения от martinss
 
Регистрация: 29.12.2010
Сообщений: 24

Сообщение от razerxxx Посмотреть сообщение
Если используешь jquery, то можешь попробовать так: $("#photos_load_more").click();
или еще попробуй сразу вызвать photos.load()
ок, надо попробовать, только вот как это сделать?
ведь я отправляю запрос через curl на php используя ссылку (адрес страницы), а вернувшийся ответ отправляю парсеру.

в какой момент и главное КАК мне вставить этот кусок JS ?
Ответить с цитированием
  #4 (permalink)  
Старый 22.05.2012, 15:54
Аватар для razerxxx
Аспирант
Отправить личное сообщение для razerxxx Посмотреть профиль Найти все сообщения от razerxxx
 
Регистрация: 05.10.2011
Сообщений: 85

а curl разве может исполнять js на странице?
Ответить с цитированием
  #5 (permalink)  
Старый 23.05.2012, 16:08
Интересующийся
Отправить личное сообщение для martinss Посмотреть профиль Найти все сообщения от martinss
 
Регистрация: 29.12.2010
Сообщений: 24

Сообщение от razerxxx Посмотреть сообщение
а curl разве может исполнять js на странице?
ну так я не в курсе)
если нет, то как тогда это реализовать то можно?
Ответить с цитированием
  #6 (permalink)  
Старый 27.05.2012, 17:15
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

martinss,
Достаточно сложный скрипт, должен анализировать текущий скролл страницы, суммировать все подгруженные высоты строк с картинками, вытаскивать последний адрес картинки.
При очередном скроле и оступе последней строки с последней картинкой от нижнего обреза в Npx отправлять запрос на сервер для подгрузки очередных данных
Ответить с цитированием
  #7 (permalink)  
Старый 28.05.2012, 20:35
Профессор
Отправить личное сообщение для Маэстро Посмотреть профиль Найти все сообщения от Маэстро
 
Регистрация: 02.07.2010
Сообщений: 642

Сообщение от martinss Посмотреть сообщение
<a id="photos_load_more" onclick="photos.load()" style="">Показать больше </a>

PS также картинки подгружаются и без нажатия на кнопку (ссылку), если например мышью прокручивать окно браузера вниз, то картинки также подгружаются.
То есть подгрузка состоит из двух вариантов.
1. Оба варианта подгрузки можно свести к одному.
2. Для выполнения этой задачи совсем необязательно Вам (curl_у) пастись на том сайте и имитировать действия человека, разве что только сделать авторизацию.
3. Внимательно изучите содержимое функции photos.load(). Там работает ajax. Так или иначе в конечном итоге он заканчивается обыкновенной URL-ссылкой, по которой на сайт закачиваются фотографии. Это будет выглядеть например так: http://thissite.com/?from=20&count10 (загрузка порции фотографий 10 штук начиная от 20-й). Вам надо в curl прямо подставлять аналогичную ссылку. Если изначально знаете общее количество фотографий, то все можно вытянуть вообще только одним запросом, типа http://thissite.com/?from=1&count1000
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Имитация нажатия клавиши KamalovRadik Javascript под браузер 3 20.02.2012 21:46
Имитация нажатия кнопки ehan jQuery 9 14.12.2011 14:07
имитация нажатия на кнопку syegorius Javascript под браузер 5 21.07.2011 14:30
Имитация нажатия клавиши Wolf Общие вопросы Javascript 10 08.01.2011 12:14
заполнения и имитация нажатия кнопки Gilman Общие вопросы Javascript 7 06.01.2009 21:28