Задать вопрос
@WebDeveloper2016

Как организовать парсинг?

Парсю веб-страницу с помощью CsQuery. Проблема в том что контент который мне надо спарсить появляется только при клике по кнопке. Он генерируется JS я проверил. Т.е. изначально его нет. И я не могу его спарсить. :( Как быть? Можно как то съимитировать клик? Скачиваю страницу просто через WebClient.
  • Вопрос задан
  • 413 просмотров
Подписаться 2 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 4
glebovgin
@glebovgin
Full Stack Web Developer
Использовать CasperJS, например.
Ответ написан
Rou1997
@Rou1997
Код может запрашиваться по ajax с сервера и потом размещаться в нужном блоке джаваскриптом. (подозреваю что так и есть)

Так вам про это и говорят!
AJAX-запросы - это HTTP-запросы, поэтому изучайте HTTP и учитесь его сниффить, то что в DevTools это тоже сниффер, но не очень удобный, лучше Fiddler, Wireshark или Charles, чтобы не только удобно перехватить тот запрос, но и симитировать его и сверить чтобы он был правильным.

Selenium и Phantom.js лишь облегчат работу в некоторых случаях, а без основ (HTTP) вы все равно будете надеяться на авось.

Есть люди, которым просто не дано стать реверс-инженером, написано "осваивай сниффер", а они читают "сиди ровно, не осваивай ничего и продолжай забивать гвозди микроскопом", надеюсь это не про вас, но если так, то просто займитесь чем-то другим, каждому свое.

Потому что один и тот же jquery запрос (в devtools хрома) до клика по кнопке ничего не находит, а потом находит.

Возможно, стоит симитировать все запросы последовательно, начиная с GET-запроса к самой странице (html), нормальный сниффер позволит вам это сделать, а также в нем самом есть конструктор запросов для тестов.
Ответ написан
Комментировать
sim3x
@sim3x
Открыл страницу
Открыл девелопер тулз
Кликнул
Посмотрел во вкладку нетворкинг
Парсишь тот линк, которые вызывается после клика
Ответ написан
kykyryky
@kykyryky
Selenium как вариант. Для имитации кликов самое то. И считывать данные с элементов просто.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы