Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
解释URL中的相对路径_Url_Relative Path - Fatal编程技术网

解释URL中的相对路径

解释URL中的相对路径,url,relative-path,Url,Relative Path,我正在用python编写一个“webcrawler”,它接受一个URL,并根据链接进行深度优先搜索,直到某个有限的深度。我遇到的问题是解释URL中的相对路径 在页面上查看“开始”链接;它看起来像。如何确定此链接是否指向“http://learnyouahaskell.com/introduction/starting-out“或”http://learnyouahaskell.com/starting-out"? 根据我的浏览器,第二个是正确的 但是在页面上有一个链接,解析为“http://ma

我正在用python编写一个“webcrawler”,它接受一个URL,并根据链接进行深度优先搜索,直到某个有限的深度。我遇到的问题是解释URL中的相对路径

在页面上查看“开始”链接;它看起来像
。如何确定此链接是否指向“http://learnyouahaskell.com/introduction/starting-out“或”http://learnyouahaskell.com/starting-out"? 根据我的浏览器,第二个是正确的

但是在页面上有一个链接
,解析为“http://math.colgate.edu/~mionescu/math399s11/Finalprojects.pdf”


有人能给我解释一下这种矛盾吗?如何确定这些路径应如何在爬虫程序中解析?

造成这种“明显”不一致的原因是learnyouahaskell站点在其源代码中使用了
标记。这将指示所有无域HREF使用基作为其起点


如果没有基本标签,它会像预期的那样出现(您发布的第一个链接),就像
math.colgate.edu
链接一样。我明白了,这很有道理。是否存在其他可以改变链接解析方式的HTML标记?不是直接在HTML中,但我看到它是通过JavaScript拾取事件,甚至是通过服务器301/302重定向完成的。实际的文件位置通常也会被fusebox之类的框架混淆,其中所有内容都显示为URI参数。