如何从选择下拉值后 url 不会更改的网页访问文本?



我有一个网站 - http://kjc-sv013.kjc.uni-heidelberg.de/dcs/index.php?contents=texte

从下拉菜单中选择文本后,文本将显示在屏幕上,但 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,则必须使用window.location导航到新 URL 或使用历史记录重写:

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

请记住,您需要添加一些额外的钩子,以便当用户向前和向后导航时,您的 javascript 会重新加载页面的内容。

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

最新更新