java - 如何获取由 href 定向的实际链接

标签 java html parsing href

我正在解析网页的 html 代码,并使用正则表达式抓取作为 href 提到的所有链接,但某些网站(例如维基百科)在 html 代码中提及某些 href 作为释义 例如:

代码说:

href="#cite_note-Types_of_Test_Item_Formats-

但链接实际上是: http://en.wikipedia.org/wiki/Test_(assessment)#cite_note-Types_of_Test_Item_Formats-15

如何仅使用网页源来访问这些链接?

编辑:用java编码

感谢任何帮助

最佳答案

它们不是释义,而是片段标识符。 # 引入页面片段的标识符。因此,您引用的是当前页面的相对 URL,具有不同的片段标识符。 Wikipedia page about URLs 中有更多内容及其链接到的 RFC。

请注意,片段不一定只单独显示。它们可以位于任何 URL 中,无论是相对的还是绝对的。如果您要处理 URL,则必须了解如何解析相对 URL。例如,如果我们假设我们正在访问 http://example.com/foo/bar.html 页面,则:

  • #frag
    解析为
    http://example.com/foo/bar.html#frag
  • ../alt.html
    =>
    http://example.com/foo/alt.html
  • /bonzo/nifty#stuff
    =>
    http://example.com/bonzo/nifty#stuff
  • //stackoverflow.com/questions/8110960/8110987#8110987(注意缺少协议(protocol))
    =>
    http://stackoverflow.com/questions/8110960/8110987#8110987
    (是的,really)

...等等,等等

关于java - 如何获取由 href 定向的实际链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8110960/

相关文章:

javascript - 如何用 JavaScript 改变音调?

javascript - 相关下拉错误

c++ - 将二进制文件拆分为 block c++

java - if 语句和过多的打印

java - SVN 可能会破坏我的二进制 Jar 文件?

java - 在 RxJava 中,如何重试/恢复错误,而不是完成 observable

javascript - 如何获取 javascript 文件内容并解析它以使用它的变量

java - xtext,内容协助不需要的建议

html - 更改事件列的颜色

java - 在 Java 中使用 StringTokenizer 解析 double 变量时出现精度错误