Как получить доступ к тексту с веб-страницы, где URL-адрес не изменяется после выбора раскрывающегося значения?

У меня есть сайт — http://kjc-sv013.kjc.uni-heidelberg.de/dcs/index.php?contents=texte

После выбора текста в раскрывающемся меню текст появляется на экране, но URL-адрес не обновляется.

Как я могу получить этот текст, используя красивый суп?

-1

Решение

Когда вы выбираете выпадающий список на этом веб-сайте, он запрашивает отдельный URL для получения данных. Если вы сделаете подобные запросы к этим URL, вы получите данные, которые вы пытаетесь собрать.

curl 'http://kjc-sv013.kjc.uni-heidelberg.de/dcs/ajax-php/ajax-text-handler-wrapper.php' -H 'Cookie: PHPSESSID=r864nj78198tr9ukeg8nuulkg0' -H 'Origin: http://kjc-sv013.kjc.uni-heidelberg.de' -H 'Accept-Encoding: gzip, deflate' -H 'Accept-Language: en-US,en;q=0.8' -H 'User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.110 Safari/537.36' -H 'Content-Type: application/x-www-form-urlencoded; charset=UTF-8' -H 'Accept: */*' -H 'Referer: http://kjc-sv013.kjc.uni-heidelberg.de/dcs/index.php?contents=texte' -H 'X-Requested-With: XMLHttpRequest' -H 'Connection: keep-alive' --data 'mode=printsentences&chapterid=7032' --compressed
0

Другие решения

Глядя на источник веб-страницы, я вижу, что вы используете AJAX для загрузки контента. Если вы хотите изменить URL-адрес, вам нужно перейти на новый URL-адрес, используя window.location или используйте переписывание истории:

var stateObj = { foo: "bar" };
history.pushState(stateObj, "page 2", "bar.html");

Имейте в виду, что вам нужно будет добавить несколько дополнительных хуков, чтобы при перемещении пользователя вперед и назад ваш javascript перезагружал содержимое страницы.

https://developer.mozilla.org/en-US/docs/Web/API/History_API

0