我正在使用jsoup开发一个web scraper,希望从表中拉出一个链接。
这就是我所看到的:
<ul class="inline-list indent>
<li>
::marker
<a href="www.linkhere.com" title="Some Text">Some Other Text</a>
(Date & Time Stamp)
</li>
我想要www.linkhere.com 还有一些其他的文字。我已经想好了如何获取其他文本,但我无法获取www.linkhere.com.
这就是我所尝试的:
Document results = Jsoup.connect(url).get();
tTable = ("li:nth-of-type(1)");
Element row : results.select("ul.indent.inline-list:nth-of-type(1)")
Element link = results.select("ul.indent.inline-list:nth-of-type(1) > a").first();
tName = row.select(tTable).text();
articleLink = link.attr("href");
System.out.println(tName);
System.out.println(articleLink);
这给了我一个错误:
nullpointerexception:无法调用“org.jsoup.nodes.element.attr(string)”,因为“llink”为null
1条答案
按热度按时间xj3cbfub1#
您正在使用这样的选择器:
第一部分
ul.indent.inline-list:nth-of-type(1)
选择第一个<ul>
元素。第二部分> a
希望如此<a>
将是<ul>
. 这和你想要的不符,因为<li>
因此解决方案是使用:或者你的想法是和第一个相匹配
<li>
您必须使用: