Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我在用Java解析网页时遇到了这个问题_Java_Parsing_Jsoup - Fatal编程技术网

我在用Java解析网页时遇到了这个问题

我在用Java解析网页时遇到了这个问题,java,parsing,jsoup,Java,Parsing,Jsoup,我想在Google Play上解析一些网页(例如),以获取游戏的当前版本、总下载量等。我不是Java新手,但在解析方面有点新手。我听说了一些关于JSOUP库的事情,并试图处理它,但遇到了问题 Google Play似乎没有提供正确的HTML文档(页面源代码有点清晰)。我认为最初页面正在加载,只有在使用JS之后,数据才会加载到页面上。div/span类具有相同的名称,我得到如下结果: <span class="htlgb">December 16, 2019</span>

我想在Google Play上解析一些网页(例如),以获取游戏的当前版本、总下载量等。我不是Java新手,但在解析方面有点新手。我听说了一些关于JSOUP库的事情,并试图处理它,但遇到了问题

Google Play似乎没有提供正确的HTML文档(页面源代码有点清晰)。我认为最初页面正在加载,只有在使用JS之后,数据才会加载到页面上。div/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##),然后获取该跨度的类名。这将是用于其余跨度的类名。