【问题标题】:scrapy javascript pagination href=#scrapy javascript分页href=#
【发布时间】:2015-09-22 02:55:13
【问题描述】:

我正在使用 scrapy & splash 从启用了 javascript 的银行页面中抓取促销交易​​。

https://www.dbs.com.sg/personal/product-promotion-list.page?pct=Cards#

我面临的问题是其中的分页是使用 javascript 完成的,因此链接采用这种格式:

<a href="#">1</a>
<a href="#">2</a>
<a href="#">3</a>

href 链接都隐藏在# 中。

随着我进一步挖掘,html代码中的分页功能是:

<script type="text/javascript">

    $(document).ready(function(){
    productList();
    });
    $('.pagination').on("click","a",checkClass);
    $('#filterSearch').on("click",searchTextChange);
    $('form').submit(function(e){
         e.preventDefault();
    });
    $("#Search").keyup(function(event){
        if(event.keyCode == 13){
            $("#filterSearch").click();
        }
    });

</script>

谁能帮我解决这个问题?任何帮助表示赞赏!谢谢。

【问题讨论】:

    标签: javascript pagination scrapy


    【解决方案1】:

    通过点击每个页面(1、2 或 3),使用 POST 从服务器请求以下 URL:

    https://www.dbs.com.sg/personal/product-promotion-list-child.page
    

    使用以下发布的表单数据:

    promotype=&amp;start=1&amp;pageNum=1&amp;search=&amp;type=promotion&amp;pct=Cards(第 1 页) promotype=&amp;start=2&amp;pageNum=1&amp;search=&amp;type=promotion&amp;pct=Cards(第 2 页) promotype=&amp;start=3&amp;pageNum=1&amp;search=&amp;type=promotion&amp;pct=Cards(第 3 页)

    如果您直接点击此 URL 并传递正确的页码会怎样?此请求返回 HTML 以及您想要的促销列表。

    【讨论】:

    • 谢谢,解决了问题。我能问一下你是怎么知道这件事的吗?是通过检查网络吗?
    • 是的,使用 Chrome,按 F12 并转到“网络”标签。对服务器的每次调用都记录在此处...如果对您有帮助,请将答案设置为正确。干杯!
    猜你喜欢
    • 1970-01-01
    • 2013-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多