【问题标题】:how to parse a endless pagination webpage using HTML DOM parser?如何使用 HTML DOM 解析器解析无休止的分页网页?
【发布时间】:2013-07-08 10:16:34
【问题描述】:

您好,我正在尝试使用简单的 html dom 解析器解析一个无休止的分页(滚动提供更多项目)的网页。但我只能获取第一页的数据。如何获取其他网页的数据。

<?php

require  'simple_html_dom.php';

$html = file_get_html('http://www.flipkart.com/mobiles/pr?sid=tyy,4io&otracker=ch_vn_mobile_filter_Mobile%20Brands');

foreach ($html->find("div.pu-visual-section a") as $el) {

        $product_url = "http://flipkart.com".$el->href;

        echo $product_url;echo "<br>";

    }


 ?>

【问题讨论】:

    标签: php html-parsing simple-html-dom domparser


    【解决方案1】:

    禁用javascript,访问该站点并检查是否有“更多”按钮。使用其中的链接获取新结果。

    编辑: 我禁用了 javascript 并检查了您的网址。

    页面底部有一个“下一个”链接:

    http://www.flipkart.com/mobiles/~new-releases/pr?sid=tyy%2C4io&amp;start=21&amp;ref=436ee817-3fca-44b8-9b53-777f12126701

    &amp;start=21 将是您获取新项目的必要部分。 &amp;start=41

    编辑 2: 因此,您不想解析所有现有项目,而是获取项目计数。

    preg_match('/class=\"items\">(.*?)</', $result, $match);
    

    有了这个,你应该得到想要的结果。我没有用页面内容本身测试它。 如果有帮助,请告诉我!

    【讨论】:

    • 如果我禁用了 Javascript 图像链接根本不会出现在链接中。所有图片链接都指向某个静态链接。
    • 谢谢我能找到你说的网址,但无法从页面中提取 857。我的意思是实际上我需要知道总共有多少项目,所以它显示在你提到的 URL 中,我需要得到那个数字。但无法得到任何帮助会很棒
    • 你能用html dom解析器技术找出不是核心的php
    猜你喜欢
    • 2017-09-09
    • 2012-08-19
    • 2011-03-22
    • 1970-01-01
    • 2020-04-17
    • 2013-08-17
    • 2015-05-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多