我正在实现一个基本的爬虫程序,以便稍后在漏洞扫描器中使用。我使用jsoup来连接/检索和解析html文档。如何使用jsoup从站点获取可导航链接?
我手动提供目标站点的基础/根目录(www.example.com)并连接。
...
Connection connection = Jsoup.connect(url).userAgent(USER_AGENT);
Document htmlDocument = connection.get();
this.htmlDocument = htmlDocument;
...
然后我检索页面上的所有链接。
...
Elements linksOnPage = htmlDocument.select("a[href]");
...
之后,我在这些链接之间循环,并尝试获取网站上所有页面的链接。
for (Element link : linksOnPage) {
this.links.add(link.absUrl("href"));
}
问题如下。根据我得到的链接,有些链接可能不是新页面的链接,甚至可能不链接到网页。作为例子,有链接,如:
什么,我需要一些帮助白衣是对链接进行筛选,这样我就只能链接到同一个根/基站点的新页面。
检查:'link.startsWith( “http://www.ics.uci.edu/”)' –
元素jsoup中的对象没有类似“startsWith”的方法,并且不以基本域(/pages.page2.html)开头的链接可能仍然在同一个站点上,只是使用js进行导航。 – Vlad
获取'元素链接'对象的字符串url。然后在'url'上调用startsWith。使用js进行导航的链接必须具有相同的属性。你可以用它们过滤 –