我正在解析网页的html代码,并使用正则表达式抓取所有提到为href的链接,但是某些网站(例如Wikipedia)在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(请注意缺少协议)=> http://stackoverflow.com/questions/8110960/8110987#8110987(是,really


...等等,等等。

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

10-10 18:25
查看更多