【问题标题】:how to crawl a nextpage of a website when it doesn't show the maximum page如何在未显示最大页面时抓取网站的下一页
【发布时间】:2017-07-25 05:57:12
【问题描述】:

这是我要爬的网站(http://biz.chosun.com/svc/list_in/list.html?catid=1A&pn=1),我的问题是爬完第一页后如何进入下一页。在这个网站页面源中,它没有显示最大页面,但我发现它可以达到7000。

这是我尝试但失败的代码。

【问题讨论】:

    标签: c# selenium web-scraping web-crawler


    【解决方案1】:

    您可以做的是检查当前网址。当您单击下一步按钮时,网址会更改。

    第 1 页的网址 - http://biz.chosun.com/svc/list_in/list.html?catid=1A&pn=0

    第 2 页的 URL - http://biz.chosun.com/svc/list_in/list.html?catid=1A&pn=2

    假设您在最后一页并尝试单击下一个按钮,它将为您提供相同的 URL。

    所以,你应该编写如下代码:

    String current_URL = driver.getCurrentUrl();
    String previous_URL = null;
    while (current_URL != previous_URL)
    {
       // perform operations;
       previous_URL = driver.getCurrentUrl(); 
       // click on next;
       current_URL = driver.getCurrentUrl();
    }
    

    【讨论】:

    • 感谢您的反馈,所以我假设您希望我做类似 String current_URL = driver.getCurrentUrl();字符串 previous_URL = null; while (current_URL != previous_URL) { gotourl(oldurl) // 执行操作; previous_URL = driver.getCurrentUrl(); // 点击下一步; gotourl(nexturl) current_URL = driver.getCurrentUrl(); }
    • 你好事实上你知道如何在我输入时解决这个问题 While (current url ! = previous url) 它说我不能自动将字符串转换为布尔值...
    • 你可以使用 while(!current_url.equals("previous_url"))
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-11-30
    • 2019-06-20
    • 2016-09-04
    • 1970-01-01
    • 1970-01-01
    • 2021-06-03
    • 1970-01-01
    相关资源
    最近更新 更多