我尝试使用java和Jsoup抓取社交媒体数据。首先,我提供一个网址并尝试抓取数据。
但它会无限循环。在那个基本网址中,有很多儿童网址。而那些儿童网址指的是其他一些基本网址。这个过程正在进行无限的网址。
如何通过阻止无限循环来限制网址。任何人都可以帮我解决这个问题。
答案 0 :(得分:0)
将您访问过的所有网址添加到链接列表(或类似内容),当您无法在列表中找到更多网址时,您就可以完成循环。
通过
检查基本名称是否正确 private String basename="www.example.com";
public boolean compareBasename(String url){
URI uri = new URI(url);
String domain = uri.getHost();
return domain.equals(basename);
}
将字符串域与您正在检查的页面的基本名称进行比较
答案 1 :(得分:0)
使用Set来保留您的网址:
customer
然后每次测试:
Set<String> already_visited=new HashSet<String>()
并插入
if (!already_visited(new_url)) // do what you want
然后,你没有周期