Jsoup:无法删除URL中的换行符

时间:2016-10-23 14:21:56

标签: java html jsoup line-breaks

我从HTML收集链接并使用jsoup获取我添加到集合中的链接。问题是我需要每个链接都在一行上,所以当写入文件时,它可以逐行解析。

输入是一个WARC记录,对于每个记录,我想获得所有链接。 getcontentutf8()和getHeaderMetadataItem方法来自WarcRecord api found here

代码:

String baseURL = getHeaderMetadataItem("WARC-Target-URI");
Vector<String> retVec = new Vector<String>();
Document doc = Jsoup.parse(getContentUTF8(), baseURL);
Elements links = doc.select("a[href]");

    for (Element link : links){
        String newLink = link.absUrl("href").replace("\n", "");
        retVec.add();
        System.out.println(newLink);
    }

将stdout写入文件时,某些链接会分为两行,例如:

1: http://somelink.com/submit?url=
2: http://someotherlink.net

虽然其他可能看起来像这样(我想要的方式):

1: http://somesite.com/submit?url=http://someothersite.com/ 

看起来它总是发生在=之后。

编辑:添加了更多信息。在某些情况下,似乎可以删除回车和换行符。但是,现在我遇到来自jsoup的绝对URL中的制表符。我检查了一些源站点,他们实际上在href后有标签。似乎有很多案件可以处理。我想认为有一个解决它们的一般解决方案吗?

<a class="MenuButton " href="/      features"> <em> Features </em> </a>

变成绝对网址:

http://archinect.com/    features

由于我将其存储在URI \t <list of links>表单上的文件中,因此在解析时会中断

0 个答案:

没有答案