嗨我有Jsoup的问题.
我刮了一页,得到了很多网址.他们有些是像相对URL: ,"../index.php",."../admin""../details.php"
我attr("abs:href")用来获取绝对网址,但这个链接呈现为www.domain.com/../admin.php
我想知道这是不是一个bug.
有没有办法用jsoup获得真正的绝对路径?我该怎么解决这个问题?
我也尝试过absurl("href"),但没有工作.
rbs*_*rbs 14
也是一个很好的选择是使用abs:href或abs:src属性:
String relHref = link.attr("href"); // == "/"
String absHref = link.attr("abs:href"); // "http://jsoup.org/"
Run Code Online (Sandbox Code Playgroud)
这也在那里描述:http: //jsoup.org/cookbook/extracting-data/working-with-urls
如果element包含相对链接,则会获得如下所示的绝对链接:element.absUrl("href").
但是你必须在之前为你的相对链接设置基本URI(例如setBaseUri("http://www.myexample.com")在你的Document或你的上面调用Element).
让你的基地Uri足够长!
好:
element.setBaseUri("http://www.example.com/abc/");
element.attr("href", "../b/here");
Run Code Online (Sandbox Code Playgroud)
收益: http://www.example.com/b/here
坏:
element.setBaseUri("http://www.example.com/abc/");
element.attr("href", "../../b/here");
Run Code Online (Sandbox Code Playgroud)
收益: http://www.example.com/../b/here
- >你的相对链接太长了你的基础uri!
| 归档时间: |
|
| 查看次数: |
6341 次 |
| 最近记录: |