У меня есть сайт — http://kjc-sv013.kjc.uni-heidelberg.de/dcs/index.php?contents=texte
После выбора текста в раскрывающемся меню текст появляется на экране, но URL-адрес не обновляется.
Как я могу получить этот текст, используя красивый суп?
Когда вы выбираете выпадающий список на этом веб-сайте, он запрашивает отдельный 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
Глядя на источник веб-страницы, я вижу, что вы используете 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