我正在开发一个项目,该项目通过使用 Jsoup 解析网站来显示歌曲名称和该歌曲的链接。唯一的问题是,我只能从该网站获得我想要的前 10 个元素,因为当您向下滚动时,该网站会生成更多元素。我要解析的特定网站是一个名为 TrappedIO 的音乐网站.当您向下滚动网站时,您会注意到会出现更多的歌曲名称和图像。当我在 chrome 中使用 inspect element 时,我看到当我滚动时,它会生成更多我试图解析的元素。
我正在解析的 CSS 路径:#content > div.container > div > div:nth-child(index of element)
问题是当我使用这种方法通过 Jsoup 获取这个网站时,
Document doc = Jsoup.connect(url).get();
从 Jsoup 返回的 HTML:Pastebin
仅返回我要解析的前 10 个元素以及所有其他 HTML。 更具体地说,我在 AsyncTask 中使用 Jsoup 进行解析,然后使用解析后的数据填充 ListView。
有什么想法吗?关于如何一次加载所有内容的任何建议?非常感谢任何回复,谢谢。
最佳答案
很简单,要获得下一组10个,只需点击以下
http://trapped.io/?page=2
一般来说,只需在 page=PAGE_NUMBER
查询参数中输入正确的页码,您就可以在该页面中获得一组 10 个元素。
编辑:
请注意,抓取网站可能存在法律问题。我希望你已经仔细检查过在他们的网站上进行抓取是合法的。
关于java - 使用在用户滚动时动态加载的 Jsoup 解析网站,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25236886/