提取内容里链接的相对路径如何改成绝对路径?

2017-04-15 14:23:34 +08:00
 omg21

提取的字符串里有好多链接,都是相对路径,如何把这些都改成绝对路径? 比如:改成 实际上就是修改 href 的内容,先提取出 href ,再用 urljoin 转换成绝对路径,但是怎么找每个链接的 href 的位置呢?

2711 次点击
所在节点    Python
10 条回复
omg21
2017-04-15 14:26:09 +08:00
上面发贴失误,是这样的:
提取的字符串里有好多链接,都是相对路径,如何把这些都改成绝对路径?
比如: href="about.html"改成 href="http://www.abc.com/about.html"
实际上就是修改 href 的内容,先提取出 href ,再用 urljoin 转换成绝对路径,但是怎么找每个链接的 href 的位置呢?
imn1
2017-04-15 14:59:32 +08:00
不需要找位置,知道当前页面的 URL(目录)就行了

http://www.abc.com/about.html
http://www.abc.com//about.html
http://www.abc.com/xxx//about.html
http://www.abc.com/xxx/xxx2/../../about.html
这些都会走到同一个页面的,不用担心
imn1
2017-04-15 15:01:20 +08:00
还有,记得 python 中计算相对路径和绝对路径的函数,对 URL 也适用,你找找
omg21
2017-04-15 15:27:02 +08:00
@imn1 是我提问没说明白,我是想要改成绝对路径的字符串,比如我把别的网站一个页面取下来传到我的网站上,那这个页面上相对路径的 about.html 指向的是我的网站,我要的是指向他的网站的 about.html ,所以要把这里的相对路径改成绝对路径。
binux
2017-04-15 15:50:21 +08:00
@omg21 那你就改呗
dsg001
2017-04-15 16:58:05 +08:00
bs4 , lxml 都可以
FYK
2017-04-15 17:24:11 +08:00
直接改吧?你是想让它自动变成绝对路径?
phrack
2017-04-15 18:31:53 +08:00
jiangzhuo
2017-04-15 20:41:51 +08:00
这个浏览器会自己改吧,不用你管。。
anuan
2017-04-16 13:27:37 +08:00
正则

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/355068

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX