我在用Java解析网页时遇到了这个问题
我想在Google Play上解析一些网页(例如),以获取游戏的当前版本、总下载量等。我不是Java新手,但在解析方面有点新手。我听说了一些关于JSOUP库的事情,并试图处理它,但遇到了问题 Google Play似乎没有提供正确的HTML文档(页面源代码有点清晰)。我认为最初页面正在加载,只有在使用JS之后,数据才会加载到页面上。div/span类具有相同的名称,我得到如下结果:我在用Java解析网页时遇到了这个问题,java,parsing,jsoup,Java,Parsing,Jsoup,我想在Google Play上解析一些网页(例如),以获取游戏的当前版本、总下载量等。我不是Java新手,但在解析方面有点新手。我听说了一些关于JSOUP库的事情,并试图处理它,但遇到了问题 Google Play似乎没有提供正确的HTML文档(页面源代码有点清晰)。我认为最初页面正在加载,只有在使用JS之后,数据才会加载到页面上。div/span类具有相同的名称,我得到如下结果: <span class="htlgb">December 16, 2019</span>
<span class="htlgb">December 16, 2019</span>
<span class="htlgb">20M</span>
<span class="htlgb">100,000+</span>
<span class="htlgb">1.5.7</span>
<span class="htlgb">4.0 and up</span>
2019年12月16日
20米
100,000+
1.5.7
4.0及以上
这个怎么发音?有什么建议吗?我能不能用JSOUP解决这个问题 您只需使解析器与站点保持最新即可。现在,您必须假设第一个
span
类名是日期,第二个span
是视图,第三个span
是安装,等等。您可以通过类htlgb
获得span
元素的列表,并根据它们的索引识别它们
然而,如果你做一些其他的假设,你可以更确定。例如,您可以知道哪个
span
是日期,因为它的文本将包括一个月(即12月)。如果页面要求JS加载您感兴趣的信息,那么可能更简单的方法是使用像Selenium这样的web驱动程序。相关:好的,似乎适合一个特定的页面。但这些跨度位于div块内。对于带有game div块的每个页面,都有不同的名称和相同的跨距名称。如何用它自动化解析过程?@Miroha-Oh这很粗糙。我建议查找带有月份的跨度,检查它是否与月份跨度的格式匹配(即month####,20##),然后获取该跨度的类名。这将是用于其余跨度的类名。