繁体   English   中英

如何从 html 代码中提取 web 应用程序内容?

[英]How can I extract web app content from html code?

所以我目前正在尝试从 csgo 赌博网站收集数据来分析它们。 所以我写了一个非常短的程序,从这个网站提取 html 代码,但它不会提取 web 应用程序的内容。 我现在的问题是我需要这个 web 应用程序中的信息。 我的意思是我可以在 Chrome 中查看它,所以我想会有解决方案。 也许这些图片有助于理解我在寻找什么:

HTML代码; 标记了我想要的行

import java.io.IOException;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Element;

public class Main {

    public static void main(String[] args) {
        
        try {
            
            String html = Jsoup.connect("https://www.wtfskins.com/crash").get().html();
            System.out.println(html);
            
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

所以这就是我得到的。 我需要的内容

<body> <app-root> 
  loading... // That's the problem
 </app-root> 
 <script src="https://code.jquery.com/jquery-3.1.1.min.js" integrity="sha256-hVVnYaiADRTO2PzUGmuLJr8BLUSjGIZsDYGmIJLv2b8=" crossorigin="anonymous"></script> 
 <script src="https://cdnjs.cloudflare.com/ajax/libs/tether/1.4.0/js/tether.min.js" integrity="sha384-DztdAPBWPRXSA/3eYEEUWrWCy7G5KFbe8fFjk5JAIxUYHKkDx6Qin1DkWx51bBrb" crossorigin="anonymous"></script> 
 <script src="/assets/js/jquery-ui.min.js"></script> 
 <script src="/assets/js/bootstrap.js"></script> 
 <script src="/assets/js/sha3.js"></script> 
 <script src="/assets/js/sha256.js"></script> 
 <script type="text/javascript" src="inline.318b50c57b4eba3d437b.bundle.js"></script> 
 <script type="text/javascript" src="polyfills.2b75d68d2d6cb678fc8d.bundle.js"></script> 
 <script type="text/javascript" src="main.7932c68952979c366236.bundle.js"></script>  
</body>

数据在初始 DOM 之后加载到页面中。 当您使用JSoup获取数据时,您会收到初始 html 请求。

此图像显示 html 请求确实给出了有点空的 html 结构

在此处输入图像描述 如果您在浏览器的dev tools中检查Network选项卡,您会看到在初始加载后会有额外的 XHR 请求,获取数据。 标签的ngcontent属性确保使用Angular加载页面,这是一个 Javascript 框架。
这样做是为了使页面加载更高效并更多地防止刮擦。

检查后

网络选项卡显示页面加载后具有 JSON 响应的多个请求。 您需要查看这些,查看哪些请求标头是强制要求的。 如图所示,其中一个有趣的是: https://www.wtfskins.com/api/v1/p2ptrading/usertrades/

在此处输入图像描述

您可以先查看Web 如何与有关异步 Javascript 请求和REST ZDB9474238D2DA927102ACAAAF7154A37Z 请求的子类别一起工作。 如果您对 web 开发人员不熟悉,研究将需要一些时间。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM