首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在抓取网页之前更改网页上的值

在抓取网页之前更改网页上的值
EN

Stack Overflow用户
提问于 2018-02-17 08:42:20
回答 1查看 149关注 0票数 1

我正在尝试使用JSoup抓取以下页面:

https://basketballmonster.com/PlayerRankings.aspx

但在浏览页面之前,我想将“过去的游戏”的值更改为5,并选择“所有玩家”而不是“顶级玩家”。

我已经能够用JSoup毫无问题地抓取很多页面,但是在抓取之前,我很难找到任何关于如何更改页面上的值的信息。我做了很多谷歌搜索,但似乎没有返回我想要的东西。

有没有人能告诉我如何做到这一点,或者甚至给出我正在尝试做的事情的适当术语?

以下是抓取代码的要点,但我不知道如何在实际抓取之前更新页面:

代码语言:javascript
运行
复制
String URL = "https://basketballmonster.com/PlayerRankings.aspx";

    try
    {
        Document doc = Jsoup.connect(URL).get();

        Elements table = doc.getElementsByClass("dataTable");

        for (Element row : table.select("tr"))
        {
             //Split rows into objects
        }
    }
    catch (IOException e)
    {
        e.printStackTrace();
    }
EN

回答 1

Stack Overflow用户

发布于 2018-02-17 18:24:19

JSoup不是浏览器,它是一个简单的超文本标记语言解析库。通过DOM操作更改您提到的值不会得到您想要的结果。我假设“将"Past Game”的值更改为5“的意思是,当在浏览器中执行这些更改时,您希望检索服务器发送给浏览器的HTML,对吗?

为了达到你想要的效果,你必须分析网站是如何运作的。我快速地看了一下,发现当你把“过去的游戏”改为5时,会触发一个POST请求。在浏览器的开发工具中查看这一点。

JSoup完全能够向and服务器发送这样的post请求并接收结果。这应该包含您想要的内容。

因此,请阅读有关如何在JSoup中组合POST请求并分析需要向fed服务器提供哪些参数的信息。这应该会带你走向成功。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48836816

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档