我正在研究网页抓取是否实现了AJAX分页,由于网站是在asp中开发的,即扩展名为.aspx的页面,所以我的问题是如何点击php中的分页链接,即是否可以在服务器端运行jQuery或javascript?
我知道Node.js可以用于在服务器端运行javascript,但不知道如何将其与Apache和PHP 一起使用
使用PhantomJS与其他服务上的HTML页面进行交互。有这样的PHP库。
CasperJS是一个建立在PhantomJS之上的库,它允许自动化一些常见的测试/脚本任务。
如果您不需要与远程页面交互,但希望使用jQuery选择器从HTML中提取数据,请使用Cheerio。
JavaScript实际上可以在服务器端运行。
node.js
不过,您的解决方案是使用AJAX调用PHP脚本进行分页,因为服务器端的javascript对这个问题没有多大意义。
不可以在服务器端运行jQuery,因为jQuery在用户的web浏览器中运行(在javascript解释器中(。您可以通过jQuery对PHP脚本进行Ajax调用,该脚本可以在服务器上运行代码。
你能做的就是
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript">
$(function()
{
$('ul li a').on('click',function()
{
var href = $(this).attr('href');
$.ajax(
{
url : href,
data : passData,
dataType : 'html'
beforeSend : function()
{
},
success : function(response)
{
//display it as needed...
}
});
});
});
</script>
<ul>
<li><a href="paging.aspx?page=1">1</a></li>
<li><a href="paging.aspx?page=2">2</a></li>
<li><a href="paging.aspx?page=3">3</a></li>
<li><a href="paging.aspx?page=4">4</a></li>
</ul>
在上面的例子中,我有四个分页链接,在那个链接上单击事件,我进行AJAX调用,然后在AJAX成功回调中显示结果,如您所愿。
但请记住,jQuery不能在使用Node.js的服务器上工作。
JQuery和Javascript是一种客户端语言,对于分页,可以使用JQuery轻松实现。
Ajax可以用于与服务器通信,而无需页面渲染,并且可以为用户提供更好的"客户端"体验。您可以使用Ajax连接到服务器,并使用jQuery执行从服务器返回的操作。
我认为使用ajax可以很容易地完成分页。否则,如果你真的想使用服务器端js。然后尝试Node.js
我试着这么做,但很痛苦。
我的建议(在2020年(,特别是如果你正在使用React,是使用这个:https://cheerio.js.org/.